需求:当输入框失焦时,判断输入框是否为空。如果不为空,则修改为当前输入框的值;如果为空,则提示错误信息,且保持原值。
onBlur={()=>{
if(!this.state.name){//如果state中的name为空
this.setState({
name:project.name
//将state中的name设为project.name(原值)
});
//此处可以添加相应的错误提示
return false;//结束逻辑
}
//如果不为空:
project.patch({//project的name设置为this.state.name
name:this.state.name
}).catch(e=>console.log(e))
}}
重点在于找到原值和新值,一般来说 原值在上文const中有所引入,新值在this.state中,在失焦时先做判断,如果新值为空就先用setState方法将state中的值设置为旧的值,再弹框提示并return。
不为空时,直接将旧值设置为this.state中的值。