deleteProtoItem = (protoKey) => {
return e => {
if (!isUndefined(e)) {
e.preventDefault();
}
const {protocol} = this.state;
modalConfirm(`<div>Вы уверены что хотите удалить эту строку?</div>`, {
cancel: "Не удалять",
ok: "Удалить"
}).then(() => {
protocol.tasks.splice(protoKey, 1);
this.setState({protocol}, () => {
});
}).catch(handleErrorResponse);
};
};
当我删除元素时,不管它的键号是0还是3,无论如何拼接只会删除最后一个元素。
Protocol.tasks数组
答案 0 :(得分:0)
这可能是因为protoKey is undefined
,请尝试passing protoKey to the callback
deleteProtoItem = (protoKey) => {
return e => {
if (!isUndefined(e)) {
e.preventDefault();
}
const {protocol} = this.state;
modalConfirm(`<div>Вы уверены что хотите удалить эту строку?</div>`, {
cancel: "Не удалять",
ok: "Удалить"
}).then((protoKey) => {
protocol.tasks.splice(protoKey, 1);
this.setState({protocol}, () => {
});
}).catch(handleErrorResponse);
};
};