Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.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 如何在其defaultChecked-React中引用currect元素_Javascript_Reactjs_Checkbox - Fatal编程技术网

Javascript 如何在其defaultChecked-React中引用currect元素

Javascript 如何在其defaultChecked-React中引用currect元素,javascript,reactjs,checkbox,Javascript,Reactjs,Checkbox,我有一个动态数组 a[1,3] 我有3个复选框,它们有名称和值,我想根据动态数组a默认选中它们。我想传递内部默认检查每个当前子项的值(通过引用而不是通过实际数字(1,2,3))是否可能 像defaultChecked={giveCheck(self.value}这样的内容将在开始时执行,以便复选框获得其默认的检查状态 <input type="checkbox" name="a" value="1" defaultChecked={giveCheck(self.value}/> &l

我有一个动态数组 a[1,3] 我有3个复选框,它们有名称和值,我想根据动态数组a默认选中它们。我想传递内部默认检查每个当前子项的值(通过引用而不是通过实际数字(1,2,3))是否可能

像defaultChecked={giveCheck(self.value}这样的内容将在开始时执行,以便复选框获得其默认的检查状态

<input type="checkbox" name="a" value="1" defaultChecked={giveCheck(self.value}/>
<input type="checkbox" name="a" value="2" defaultChecked={giveCheck(self.value}/>
<input type="checkbox" name="a" value="3" defaultChecked={giveCheck(self.value}/>


giveCheck(value) {
if(a.indexOf(value)>=0){
return true;
}
return false;
}

给定检查(值){
如果(a.indexOf(值)>=0){
返回true;
}
返回false;
}
旧答案 是的,这是绝对可能的。在我下面的示例中,我将数组存储在状态中,对于您的每个输入,您都会签入数组中存在的值。如果需要,您可以使用
indexOf()
,但我更喜欢
includes()
,因为它在所有主要浏览器上都受支持

此外,您可能希望将
名称
属性更改为唯一

MyApp类扩展了React.Component{ 构造函数(){ 超级(); 此.state={ 答:[1,3] }; } render(){ 返回( ); } } ReactDOM.render(,document.getElementById(“app”);


您确定要使这些复选框不受控制而不是受控制的组件吗?我有多个数组a[1,3]b[2,4,5]等,因此名称不能唯一(实际上,具有相同名称的输入集会将其值添加到特定数组中。在您的代码中,您可以按数字(1,2,3)手动添加函数中复选框的值一种方法是动态创建复选框。但是是否可以添加值作为元素属性的引用?例如,使用onClick,您可以选中event.target.value并获取值,但在defaultChecked中不起作用(至少是我尝试过的方法)@豁免权,我不明白你的意思。你能澄清一下吗?在完成评论之前,我错误地按了回车键,请再次查看。我想在列表中添加一个参考号,而不是实际数字function@iMMuNiTy,您能否更新您的问题并添加您希望代码如何工作。它不必运行,只是为了更好地解释它。如果这样做,我将坐look@iMMuNiTy很遗憾,没有。