当前位置: 首页 > 知识库问答 >
问题:

在setState中反转复选框值

彭修筠
2023-03-14

我需要根据复选框更改组件的状态,有一个奇怪的问题,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 });
    }
}

共有3个答案

易宏阔
2023-03-14

解决了,问题是setState的异步特性,现在我使用带有回调的新状态,一切正常。

this.setState({ [fieldId]: fieldValue }, () => { console.log(this.state); } 
郑嘉悦
2023-03-14

您应该使用与上一个值相反的值。试试这个

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前加了一个感叹号,表示“不是”前一个值。

穆宏胜
2023-03-14

只需添加一个前缀 事件.目标。选中以反转其值

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实现复选框的全选和反选的使用技巧和注意事项,需要的朋友参考一下 话不多说,请看代码 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!