我正在使用Vue,并安装了Pinia Store。
export default {
setup() {
let rows: Row[] = store.history.rows;
}
}
这样做很好,但稍后我想覆盖数组并过滤它:
const filterArray = () => {
rows=store.history.rows;
for (let index = 0; index < rows.length; index++){
if (rows[index].department !== departmentModel.value) {
rows.splice(index, 1);
}
}
};
filterArray
方法也从store.history.rows
数组中删除了对象,所以两个数组很快就会为空。我想归档的是,每次调用filterArray
时,rows
数组都会被store.history.row
s数组(包含所有对象)覆盖,然后rows
数组会根据if语句进行过滤。
我做错了什么?
1条答案
按热度按时间bmp9r5qi1#
当你设置
rows = store.history.rows
时,它并没有复制数组,它只是像指针一样引用同一个数组。可以通过在继续修改数组之前复制数组来避免这种情况
或者使用函数约定,恕我直言,这是首选的方式。
这将创建与给定
departmentModel.value
匹配的项的新数组。