[英]How to reset the state to null if the input is empty?
我有一些状态设置为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 } });
因为@Stefan已经说过您的第二个setState语句在第一个if之后执行。
为了缩短代码并使其正常工作,您可以按照以下方式使用:
onChange = (e, name, country) => {
this.setState({ [name]: { ...this.state[name], [country]: e.target.value ? this.target.value : null } });
如果value为“”,未定义,为null或在所有其他情况下为true,则this.target.value为false。
请设定onChange方法
onChange = (event, name, country) => {
const { value } = event.target
this.setState({
[name]: { ...this.state[name], [country]: value ? value : null }
});
}
当国家/地区值空白字符串设置为null
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.