isMain = (v, k) => {
let {avatars: {fields}, push} = this.props;
fields.getAll().map((avatar, key) => {
fields.remove(key);
push('avatars', {
deleteImage: avatar.deleteImage || false,
uuid: avatar.uuid,
fileName: avatar.fileName,
url: avatar.url,
setMain: key === k,
});
});
};
这就是我尝试的方式^
不起作用,我不知道为什么
我使用v6
我也尝试过插入
但是使用插入字段不仅会被删除-已复制!
尽管新字段的值(value)发生了变化
最佳答案
如果只想更新avatars
数组中的单个项目,则另一种解决方案是使用redux-form的Action Creators。只需提供索引值即可操作:
import { change } from 'redux-form'
...
setMain: (k) => dispatch(change(`yourForm`, `avatars[${k}].setMain`, true))
您可以用相同的方式创建另一个 Action
removeMain(k)
,以删除旧的主头像项目。