[英]Vuejs/Vuex How to remove(filter) an Object inside an Array of Objects in vuex state using mutations
[英]Filter Vuex state array of object returns empty array
我有 state 接收來自https://jsonplaceholder.typicode.com/todos/
的數據。 我想根據狀態completed:true
或completed:false
過濾數據。
我有以下方法來過濾過濾器數組:
filterByStatus(status) { const filteredResults = this.allTodos.filter(todo => todo.completed == status) console.log(filteredResults) }
在這里,我收到true
或false
作為該方法的參數。 但是console.log(filteredResults)
返回一個空數組。
filterByStatus(status) { let filteredResults = []; this.allTodos.map(item => { if (item.completed == status) { filteredResults.push(item); } }); console.log(filteredResults); }
我也嘗試過 map 方法,但結果是相同的空數組。
我有console.log(this.allTodos)
結果是:
[{…}, {…}, {…}, {…}, {…}, __ob__: Observer]
這是觀察者的原因嗎??
我不認為你應該在這里使用 map:
this.allTodos.map(item => {
if (item.completed == status) {
filteredResults.push(item);
}
});
而是一個 forEach
this.allTodos.forEach(item => {
if (item.completed == status) {
filteredResults.push(item);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.