猿问

react antd props中的值设定到Field的问题

做新增功能的时候,发现会读取到上一次保存的数据,找了一下感觉是新增的时候将状态改为create,然后props.modifiedFields有值就会自动读取到,但是这边不需要读取到这个值,只需要读取到props.item的值就可以了
//将props中的值设定到Field中
functionmapPropsToFields(props){
if(props.modalType==="create")
returnprops.modifiedFields||{};
return{fields:props.item};
}
//每次值变动的时候,把最新的放到props.modifiedFields中
functiononFieldsChange(props,fields){
Object.assign(props.modifiedFields,fields);
}
exportdefaultForm.create({onFieldsChange,mapPropsToFields})(TableNursingRecordNew);
然后就屁颠屁颠的将mapPropsToFields改为
functionmapPropsToFields(props){
return{fields:props.item};
}
本地没有这个问题了,然后代码也推到了服务器上,但是服务器上有这个问题,脑袋框框撞大墙....本地连服务器的环境也没有这个问题,不知道为什么
慕仙森
浏览 845回答 2
2回答

缥缈止盈

一般情况下,都用说:清缓存呀~~~好吧,其他也没什么用。关键是上一次操作完后props.modifiedFields中是有值的,你并没有清除。想当然的面向对象的思路害死人了。你应该将create和edit的数据都认为是一个对象obj。obj中有id则,edit;否则create.每次save后都将这个obj设置为null。create的时候,将obj赋值为{}edit的时候,将obj赋值为entry。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答