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,
});
});
};
This is how I try^ Doesn't work, I don't know why
I use v6
I also tried insert
But with insert field not removed only - copied! Although the value of new fields changed
if you only want to update a single item in array avatars
, an alternative solution is using redux-form's Action Creators. Just need to provide the index value to action:
import { change } from 'redux-form'
...
setMain: (k) => dispatch(change(`yourForm`, `avatars[${k}].setMain`, true))
You can create another action removeMain(k)
in the same manner to remove the old main avatar item.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With