![](/img/trans.png)
[英]Difficulty updating state to reflect what's in a spliced updated object array
[英]Update the data from spliced array of object
所以,我已经拼接了数据,我想将它的 object 从disabled = true
更新为disabled = false
.. 我一直在寻找另一个答案,但找不到..
任何建议表示赞赏。 谢谢
这是我的下拉菜单
const newDrop = [
{ key: "1", label: "Monthly GMV", sublabel: "Max.1" },
{ key: "2", label: "AOV", sublabel: "Max.1" },
{ key: "3", label: "Monthly Order", sublabel: "Max.1" },
{ key: "4", label: "Last Purchase", sublabel: "Max.1" },
{ key: "5", label: "Has Purchase" },
{ key: "6", label: "Has Purchase Spesific Product" },
{ key: "7", label: "Located In", sublabel: "Max.1" },
];
选择 function:选择下拉列表时,将添加新属性disabled:true
newInput({ key }) {
const {
changeFormAttribute,
form: { selectedDrop, newDrop, data },
} = this.props;
itemIndex = newDrop.map((itm) => {
let x = itm.key === key;
return x && itm.key !== "6" && itm.key !== "5" ? { ...itm, disabled: true } : { ...itm };
});
changeFormAttribute({
newDrop: itemIndex,
});
}
删除function disabled:false
这是onClick function,点击时应该拼接数据,并检查是否禁用拼接数据disabled === true
拼接的工作正常,但没有将属性更改为disabled = false
deleteInput(index) {
const {
changeFormAttribute,
form: { selectedDrop },
} = this.props;
let selected = selectedDrop || [];
selected.splice(index, 1).map((e) => {return e.disabled === true ? false:true })
changeFormAttribute({ selectedDrop: selected });
}
您的splice
function 没有返回元素。 您可能需要将其更改为
selected.splice(index, 1).map((e) => {
e.disabled === true ? false:true
return e;
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.