Javascript 如果输入为空,如何将状态重置为null?
我有一些状态设置为Javascript 如果输入为空,如何将状态重置为null?,javascript,reactjs,Javascript,Reactjs,我有一些状态设置为null的输入,当最终用户键入某个内容并删除所有内容时,输入返回空字符串。 如何将状态设置为返回到null? 我对下面的IF语句有一个问题,当用户删除他所有的句子时,他不工作。状态为”而不是null 谢谢你的帮助 onChange = (e, name, country) => { if (e.target.value === "") { this.setState({ [name]: { ...this.state[name], [country]
null
的输入,当最终用户键入某个内容并删除所有内容时,输入返回空字符串。
如何将状态设置为返回到null
?
我对下面的IF语句有一个问题,当用户删除他所有的句子时,他不工作。状态为”
而不是null
谢谢你的帮助
onChange = (e, name, country) => {
if (e.target.value === "") {
this.setState({ [name]: { ...this.state[name], [country]: null } });
}
this.setState({ [name]: { ...this.state[name], [country]: e.target.value } });
}
因为在IF语句之后,这一行将被执行
this.setState({ [name]: { ...this.state[name], [country]: e.target.value } });
因为在IF语句之后,这一行将被执行
this.setState({ [name]: { ...this.state[name], [country]: e.target.value } });
请更改方法
onChange = (event, name, country) => {
const { value } = event.target
this.setState({
[name]: { ...this.state[name], [country]: value ? value : null }
});
}
当国家/地区值空白字符串将其设置为空时,请使用onChange方法
onChange = (event, name, country) => {
const { value } = event.target
this.setState({
[name]: { ...this.state[name], [country]: value ? value : null }
});
}
当country值为空字符串时,将其设置为
null
,因为@Stefan已经说过在第一个if之后执行第二个setState语句
要缩短代码并使其正常工作,您可以使用以下内容:
onChange = (e, name, country) => {
this.setState({ [name]: { ...this.state[name], [country]: e.target.value ? this.target.value : null } });
如果值为“”,则this.target.value为false;如果值为未定义或null,则在所有其他情况下均为true。as@Stefan已经说过,您的第二个setState语句将在第一个if之后执行 要缩短代码并使其正常工作,您可以使用以下内容:
onChange = (e, name, country) => {
this.setState({ [name]: { ...this.state[name], [country]: e.target.value ? this.target.value : null } });
如果值为“”,则this.target.value为false,未定义或在所有其他情况下为null和true。您的第二条setState指令总是被执行,因为它不包含在ELSE条件中感谢这是个问题您的第二条setState指令总是被执行,因为它不包含在ELSE条件中感谢这是个问题感谢做了很多工作。是的,我忘了其他条件。。。非常感谢感谢你的努力。是的,我忘了其他条件。。。非常感谢,这就是问题所在!!非常感谢,这就是问题所在!!谢谢