自定义组件 oberver bug
自定义组件中定义了一个数组类型的propertie,局部修改数组的某个元素,导致 Observer 回调函数的 val 值为修改的数组元素值,正确情况是,不应该触发才对;
Component({ properties: { list: { type: Array, value: [{ key: '1' }], observer(val) { console.log(val); } } },
changeSubItem() { const data = Object.assign({}, this .data.list[0]); // 创建一个新对象,并浅复制 data.key = '2' ; this .setData({ [`list[0]`]: data // 修改数组第一个元素 }); } } }); |