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