Javascript 如何在Angular8中单击复选框从本地存储中添加和删除值
我有一个动态生成的复选框列表,我想用对象创建数组 如果值为true,并将项目设置为localStorage,则我希望将数据推送到对象数组中。 如果值为false,则它将从本地存储中删除对象 有人能帮我选择我的代码和预期的输出吗 预期产出Javascript 如何在Angular8中单击复选框从本地存储中添加和删除值,javascript,angular,angular8,Javascript,Angular,Angular8,我有一个动态生成的复选框列表,我想用对象创建数组 如果值为true,并将项目设置为localStorage,则我希望将数据推送到对象数组中。 如果值为false,则它将从本地存储中删除对象 有人能帮我选择我的代码和预期的输出吗 预期产出 [ { "key": "Test", "value": true }, { "key": "Test1", "
[
{
"key": "Test",
"value": true
},
{
"key": "Test1",
"value": true
},
{
"key": "removeItem",
"value": false
}
]
代码
setColumn($event, item) {
var obj = {}, valueAliasPair = [];
if (item.tabelHeader.data != '' && $event.checked === true) {
obj['key'] = item.tabelHeader.data;
obj['value'] = $event.checked;
valueAliasPair.push(obj);
localStorage.setItem('AvailableAmt', JSON.stringify(valueAliasPair));
}
if (item.tabelHeader.data != '' && $event.checked === false) {
localStorage.removeItem('AvailableAmt', obj['key']);
}
console.log(valueAliasPair, "valueAliasPair");
}
更新:
setColumn($event,item){
让valueAliasPair=JSON.parse(localStorage.getItem(“Availableeamt”)| |“[]”);
如果(item.tabelHeader.data!=“”){
如果($event.checked){
推送({
关键字:item.tabelHeader.data,
价值观:正确,
});
setItem(“Availableeamt”,JSON.stringify(valueAliasPair));
}否则{
const ind=valueAliasPair.findIndex((x)=>x.key==item.tabelHeader.data);
值AliasPair.拼接(ind,1);
setItem(“Availableeamt”,JSON.stringify(valueAliasPair));
}
}
log(valueAliasPair,“valueAliasPair”);
}
是否要从数组中删除整个JSON或特定项?答案已更新,这就是您要查找的内容吗?不,实际上,我希望如果单击复选框,它将创建对象数组并将此对象推送到本地存储中。如果我取消选中复选框,则值将为false,如果值为false,它将从数组中删除对象,并从本地存储中删除它。我希望您修改我的函数,在每个选中和未选中的复选框中添加和删除对象中的项,并在本地存储中更新它