我需要根据复选框更改组件的状态,有一个奇怪的问题,setState中的值与event.target.checked的值相反。
根据上述代码:
如果。target.checked===真=
如果。target.checked===假=
handleChange(event) {
if ( event.target.getAttribute('type') == "text"){
this.setState({ [event.target.id]: event.target.value });
}else if ( event.target.getAttribute('type') == "checkbox") {
this.setState({ [event.target.id]: event.target.checked });
}
}
解决了,问题是setState的异步特性,现在我使用带有回调的新状态,一切正常。
this.setState({ [fieldId]: fieldValue }, () => { console.log(this.state); }
您应该使用与上一个值相反的值。试试这个
handleChange(event) {
if ( event.target.getAttribute('type') == "text"){
this.setState({ [event.target.id]: event.target.value });
}else if ( event.target.getAttribute('type') == "checkbox") {
this.setState({ [event.target.id]: !event.target.checked });
}
}
我在event.target.checked前加了一个感叹号,表示“不是”前一个值。
只需添加一个前缀
到
事件.目标。选中
以反转其值
this.setState({ [event.target.id]: !event.target.checked });
本文向大家介绍javascript实现复选框全选或反选,包括了javascript实现复选框全选或反选的使用技巧和注意事项,需要的朋友参考一下 以下是用原生js实现的复选框全选/反选的实现,选中checkbox的时候,实现全选的效果,并且样式发生改变。 代码最简洁,js行为优化版,复制粘贴即可使用。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
这是我的状态 我试图做的是,每当选中或未选中复选框时,我将相应的复选框设置为true/false。根据每个复选框的这个布尔值,我过滤出,然后在UI上呈现它。当单击复选框时,我能够筛选结果,但当未选中复选框时,我无法显示所有结果。当复选框发生更改时,我就是这样处理的。 我知道我没有正确地处理状态,在这种情况下我能做什么。为了更好地参考,这里是完整的搜索结果代码。
我试图创建一个表单,该表单顶部有一个复选框,当用户选中该复选框时,它会选择其他特定的复选框,但不是所有复选框。我很难通过反复试验或搜索找到答案。我唯一能找到的就是“全选”选项。不是我想要的。 理想情况下,当用户选中“管理包”旁边的复选框时,我想要“Chrome外观组”和“远程启动” 下面是代码和我在这方面的基本尝试,但它不起作用。提前谢谢。 超文本标记语言: Javascript 我不知道这个Ja
问题内容: 通过某种方式,通过Angular的魔力,如果您使用并提供一个布尔值,则如果布尔值是true,则您的复选框将被选中,如果布尔值是true,则未选中。 尽管仅此一项就让人感到莫名其妙,但我实际上是在尝试反转选中状态,因为与todo示例不同,后者意味着选中了复选框,而我的模型更像。 不幸的是,我的第一个猜测没有用: 我所处的位置已经决定了模型,因此我无法更改它,也不必在客户端上对其进行按摩(
下面是我的代码。 问题是当我选中一个复选框时,包括选中循环视图中的其他复选框。但当我签入适配器时,项目被正确添加,但复选框被复制。 例如:如果我选中了第一项复选框,向下滚动第16项复选框也会被选中。取消选中该复选框也将取消选中第一项。
本文向大家介绍jQuery实现复选框的全选和反选,包括了jQuery实现复选框的全选和反选的使用技巧和注意事项,需要的朋友参考一下 话不多说,请看代码 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!