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

更新选中的复选框值-react本地

澹台硕
2023-03-14

我有一个复选框:

 <CheckBox 
   checked={this.state.preference} 
   onPress={() => this.setState({
     preference: !this.state.preference
   })}
 />

最初,我希望根据我获取的数据选中复选框。我有一个preference字段,它的值为0,所以我把:

{
  this.props.data.profile && this.props.data.profile.preference== 0 ? 
    this.state.preference = false : this.state.preference= true
}
 constructor(props) {
  super(props);
  this.state = {
      showForm: 0,
      active: true,  
      emailPreference: true,

  };

然后根据emailpreference添加checked。但是一旦这个值得到,即使按下,我也会将状态从true更改为false,反之亦然。它不会更新。

共有1个答案

龙焱
2023-03-14

您应该始终使用setState({preference:“hello})更改状态,而不是直接更改this.state。第二个代码段中的三元值顺序也不对,您应该使用冒号而不是=inside对象。总的来说,我认为可以尝试以下方法:

{
  this.setState({
      preference: this.props.data.profile && this.props.data.profile.preference == 0 ? false : true
  })
}
 类似资料:
  • 我有如下复选框: 控制器中: 当复选框值为1,然后我可以编辑,但当复选框值为0,然后我得到错误:SQLSTATE[01000]:警告: 1265数据截断为列类型在行1(SQL:更新set=0,。=2021-10-10 15:48:36其中=1) 数据库表中字段的类型-enum('0','1')

  • 所以我有这样的代码: 我只需要Javascript来获取当前选中的任何复选框的值。 编辑:要添加,只有一个复选框。

  • 我有一个复选框,从那里我得到选中的值,但第一次工作得很好,但回发后我一点也不改变,总是返回true。 我只是在做这个 我在同一个控件中有另一个复选框,它没有初始化选中的属性,并且总是工作正常。那么我该如何解决这个问题呢?

  • 问题内容: 我遇到这样的情况,我想更新一些输入为复选框的数据,我在下面尝试了此代码。数据已保存在数据库中,但数据已保存在另一行中, 例如:我为BirdA选中了红色,黄色和灰色,同时为BirdD选中了黑色和蓝色。在数据库中,BirdA的颜色正确保存,但是第二只鸟的深色和蓝色保存在BirdB上( 应保存在BirdD上 ) 我想解决上面的问题,因此数据应保存在数据库中的正确位置。请在下面检查我的代码:

  • 我试图创建一个表单,该表单顶部有一个复选框,当用户选中该复选框时,它会选择其他特定的复选框,但不是所有复选框。我很难通过反复试验或搜索找到答案。我唯一能找到的就是“全选”选项。不是我想要的。 理想情况下,当用户选中“管理包”旁边的复选框时,我想要“Chrome外观组”和“远程启动” 下面是代码和我在这方面的基本尝试,但它不起作用。提前谢谢。 超文本标记语言: Javascript 我不知道这个Ja

  • 问题内容: 我有一组复选框,这些复选框在选中时将值传递为1,否则将值传递为0。但是,不是将未选中的复选框的值发送为“ 0”,而是发送的值为“ NULL”。 我在下面的JS代码中应将值相应地设置为0/1,但是仍然将该值作为NULL发送。有什么方法可以确保在未选中复选框的情况下传递的值为0? 更新 这是我的html: 默认情况下,它们都被选中。 如果未选中其中之一,则MySQL报告以下错误:0SQLS