做新增功能的时候,发现会读取到上一次保存的数据,找了一下感觉是新增的时候将状态改为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};}本地没有这个问题了,然后代码也推到了服务器上,但是服务器上有这个问题,脑袋框框撞大墙....本地连服务器的环境也没有这个问题,不知道为什么
2 回答
缥缈止盈
TA贡献2041条经验 获得超4个赞
一般情况下,都用说:清缓存呀~~~好吧,其他也没什么用。关键是上一次操作完后props.modifiedFields中是有值的,你并没有清除。想当然的面向对象的思路害死人了。你应该将create和edit的数据都认为是一个对象obj。obj中有id则,edit;否则create.每次save后都将这个obj设置为null。create的时候,将obj赋值为{}edit的时候,将obj赋值为entry。
添加回答
举报
0/150
提交
取消