我有一个像这样的猫鼬模式:
{
obj: {
firstKey: {type: boolean},
secondKey: {type: boolean}
}
}
我可以使用javascript表单基于此架构添加和修改文档。
我可以通过复选框更改obj.firstKey和obj.secondKey的值。
例如,如果选中了obj.firstKey的复选框,则obj.firstKey设置为true;否则,将其设置为true。相反,如果未选中,则要从文档中删除obj.firstKey。
在表单中,我使用this.value引用我的文档。
我尝试过:
if(this.value.obj && this.value.obj.firstKey===true){
const {
firstKey : _del,
...newObj
} = this.value.obj;
this.value = {...this.value, obj: {...newObj}};
}else {
this.value = {...this.value, obj: {...this.value.obj || '', firstkey: e.target.checked}};
}
如果我保存更新的数据并调用put HTTP请求,则firstKey不会被删除,但始终设置为true,就好像我没有通过复选框对其进行更改一样。
如果e.target.checked为false并且obj.firstKey最初设置为true,如何删除obj.firstKey?