翻了一下antDesign官网只看见了Form可以使用setFieldsValue设置值,却没找到Form.List使用setFieldsValue设置值。
于是研究了一下!!!!!!
我的解决方案是:
先设置为空数组, 再设置成更新后的新数据。
setFieldsValue 在不改变数据length 只改变某一项的值时是有可能失败的。
因为 react 的虚拟dom比对数据变化是浅比对。
//value 需要更改的值
//key Form.List里面的第几项
const projectNameChange = (value, key) => {
const newData = form.getFieldsValue().list;
form.setFieldsValue({ list: [] });
newData[key] = { ...newData[key], projectCode: value };
form.setFieldsValue({ list: newData });
};
注:本人前端小白 ,如有不对的地方还请多多指教