最近在写一个需求,要求批量导入数据后要把原来的列表数据全部覆盖,包括导入的数据与原来的列表数据重复的值。
如果导入的数据中与原来列表的数据没有重复的值,那就重新setState一下就好;那如果列表中有数据A,并且A的一个属性通过input编辑过,此时再批量导入数据包含数据A的话,那就不能覆盖已经编辑过的A的那个属性。当时很不解,我在重新setState完之后能抓到正确的数据,可是页面就是不渲染。。。
后来想到一个办法,我在导入之前把数据列表list清空,然后再导入,不就完全是导入的数据了吗?----并不是。依然不管用。
后来检查代码,猛然发现input我使用antd design中form表单写的,那我可以把表单的value值清空,试了一下,果然有用。代码贴上来