Javascript 默认情况下选中复选框
我在一个有很多复选框的字段中使用,我希望它们在默认情况下被选中 我试着像这样使用Javascript 默认情况下选中复选框,javascript,reactjs,admin-on-rest,Javascript,Reactjs,Admin On Rest,我在一个有很多复选框的字段中使用,我希望它们在默认情况下被选中 我试着像这样使用选项属性: <CheckboxGroupInput source="foo" choices={[ { id: 0, name: 'bar' }, { id: 1, name: 'bar' } ]} options={{ checked: true }}/> 但是运气不好,默认情况下,所有复选框都被选中,但它们不可用:它们不能被取消选中,也不能在POST/PUT请求中发送 谢谢 PS:c
选项属性
:
<CheckboxGroupInput source="foo" choices={[
{ id: 0, name: 'bar' },
{ id: 1, name: 'bar' }
]} options={{
checked: true
}}/>
但是运气不好,默认情况下,所有复选框都被选中,但它们不可用:它们不能被取消选中,也不能在POST/PUT请求中发送
谢谢
PS:check all(检查所有)按钮也很不错,如果有人实现了一个按钮,我很乐意看到它是如何实现的。我对react(反应)或rest上的admin(管理)不太熟悉,所以我可能离这里很远,但是你能不能把
checked:true(检查:真)
部分放到choices对象中?(即:{id:0,name:'bar',checked:true}
)我对rest上的react或admin不太熟悉,所以我可能离这里很远,但是你不能将checked:true
部分放入choices对象中吗?(即:{id:0,name:'bar',checked:true}
)您应该在包含此输入的表单上使用
关于checkall按钮,这可以在一个应用程序中实现。您可以复制/粘贴复选框GroupInput
的代码,并在其中实现逻辑
关于将值转换回数字,请使用“规格化”属性:
<CheckboxGroupInput
normalize={value => value.map(v => parseInt(v, 10))}
source="notifications"
choices={[
{ id: 12, name: 'Ray Hakt' },
{ id: 31, name: 'Ann Gullar' },
{ id: 42, name: 'Sean Phonee' },
]}
/>
value.map(v=>parseInt(v,10))}
source=“通知”
选择={[
{id:12,名字:'rayhakt'},
{id:31,名字:'Ann Gullar'},
{id:42,姓名:'Sean Phone'},
]}
/>
您应该在包含此输入的表单上使用
关于checkall按钮,这可以在一个应用程序中实现。您可以复制/粘贴复选框GroupInput
的代码,并在其中实现逻辑
关于将值转换回数字,请使用“规格化”属性:
<CheckboxGroupInput
normalize={value => value.map(v => parseInt(v, 10))}
source="notifications"
choices={[
{ id: 12, name: 'Ray Hakt' },
{ id: 31, name: 'Ann Gullar' },
{ id: 42, name: 'Sean Phonee' },
]}
/>
value.map(v=>parseInt(v,10))}
source=“通知”
选择={[
{id:12,名字:'rayhakt'},
{id:31,名字:'Ann Gullar'},
{id:42,姓名:'Sean Phone'},
]}
/>
原因是:当您使用checked
属性时,这意味着您正在创建它,并且checked的值始终为真:
选中:为真
这就是为什么它的地位没有改变
使用defaultChecked
代替checked
,如下所示:
options={{
defaultChecked: true
}}
检查:
defaultChecked==>bool==>复选框组件的默认状态。
警告:此选项不能与“已检查”选项一起使用。决定
在使用受控或非受控输入元件和移除
这些道具之一
原因是:当您使用
checked
属性时,这意味着您正在创建它,并且checked的值始终为true:
选中:为真
这就是为什么它的地位没有改变
使用defaultChecked
代替checked
,如下所示:
options={{
defaultChecked: true
}}
检查:
defaultChecked==>bool==>复选框组件的默认状态。
警告:此选项不能与“已检查”选项一起使用。决定
在使用受控或非受控输入元件和移除
这些道具之一
这不起作用,该选项似乎未在rest上的管理中实现。这不起作用,该选项似乎未在rest上的管理中实现。谢谢。我使用了
defaultValue
。顺便说一句,我将Id设置为数字,但在您手动检查后,它们将作为字符串发送,有一种方法可以将它们保留为数字?是的,您可以使用prop:Edited my answer,并提供一个normalize eFantastic示例!谢谢,谢谢。我使用了defaultValue
。顺便说一句,我将Id设置为数字,但在您手动检查后,它们将作为字符串发送,有一种方法可以将它们保留为数字?是的,您可以使用prop:Edited my answer,并提供一个normalize eFantastic示例!谢谢。对不起,似乎在rest上的管理中也不能正常工作。对不起,似乎在rest上的管理中也不能正常工作。