我想将复选框值保存为"是" /"否"而不是" true" /" false"在数据库中。我使用reactjs来获取值并存储在数据库中。
请找到我的下面的代码,我正在尝试。
handleInputChange(e) {
const target = e.target;
const name = target.name;
const item = this.state.item;
const value = target.type === 'checkbox' ? target.checked : target.value;
if( name === "should_create" && value === false )
{
this.state.item.should_create="No";
}
else if( name === "should_create" && value === true )
{
this.state.item.should_create=="Yes";
}
else
{
this.state.item.should_create=="";
}
item[name] = value;
this.setState({ item: item });
}
HTML复选框代码:
<input name="should_create" checked={this.state.item.should_create==true ? "true":''} type="checkbox" value={ this.state.item.should_create } onChange={ this.handleInputChange } />
但是,上面的代码无法正常工作。它存储默认值&#34; true&#34; /&#34; false&#34;只要。如何将其更改为&#34;是&#34; /&#34;否&#34;价值?
我有多个&#34; Checkbox&#34;组件,但我想要这个&#34;是&#34; /&#34;否&#34;这个只有一个组件的选项。其余组件应为默认值。
答案 0 :(得分:1)
您使用==
作为作业,但它与===
(表达式返回true或false)几乎相同
因此,创建变量然后只更新状态
会更好let shouldCreate = ''
if (name === 'should_create') {
shouldCreate = value ? 'Yes' : 'No'
}
item[name] = value;
this.setState({ item: item });