Javascript 反应-根据输入名称设置输入道具
我有一个复选框输入:Javascript 反应-根据输入名称设置输入道具,javascript,reactjs,Javascript,Reactjs,我有一个复选框输入: import { Checkbox } from 'semantic-ui-react'; <Checkbox checked={false} ref={id} /> 但是我不知道怎么做(上面的代码什么都不做)。如何根据某个属性查找react组件?必须在复选框和函数名中添加onClick属性 在on click函数中,您应该将事件作为参数获取 然后检查evet.target.checked 这是用于显示单击状态的复选框属性 如果所有参照都位于同一
import { Checkbox } from 'semantic-ui-react';
<Checkbox
checked={false}
ref={id}
/>
但是我不知道怎么做(上面的代码什么都不做)。如何根据某个属性查找react组件?必须在复选框和函数名中添加onClick属性 在on click函数中,您应该将事件作为参数获取 然后检查evet.target.checked 这是用于显示单击状态的复选框属性 如果所有参照都位于同一构件中,则不需要使用参照
如果您有问题,请告诉我维护一个id映射为checkbox state的状态对象,然后根据id单击以更改状态
this.state = {
checked: {'12': true. '23':false}
}
<Checkbox
checked={this.state.checked[id]}
/>
如果你只想设置
onClick = (id) => {
var checked = {...this.state.checked}
checked[id] = true;
this.setState({checked})
}
你可以这样做:
<Checkbox
checked={false}
ref={id}
onClick={() => { this.onClick(id); }}
/>
张贴完整的代码,
复选框
是否为组件?如何创建?复选框是react语义ui中的一个组件。onClick函数位于我正在使用另一个库创建的表中的一行上,但它们都在同一个组件中。是否在onClick函数中获取id?是的,id已传递给函数,很抱歉,如果未编辑此问题,我想在包含复选框的div上添加onClick事件,而不是实际的复选框-还有很多复选框,这就是为什么我考虑使用refs。您可以将onclick放在输入复选框的父div中,event.target仍然会看到我认为的复选框。或者,如果它显示父事件.target.querySelector(“输入”),您也可以像这样选择它,但其他答案也很好
onClick = (id) => {
var checked = {...this.state.checked}
checked[id] = true;
this.setState({checked})
}
<Checkbox
checked={false}
ref={id}
onClick={() => { this.onClick(id); }}
/>
onClick: (id) => {
this.refs[id].checked = true;
}