Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反应-根据输入名称设置输入道具_Javascript_Reactjs - Fatal编程技术网

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;
}