this.$store.commit( 'deleteCheckboxItems', response.data.items.forEach(element => { element.id; }) );
從收到的api
我需要取得id並將其傳遞給vuex。該函數可以工作,但調用時會在控制台中寫入 undefined。
vuex:
#deleteCheckboxItems(state, payload) { if(state.filteredBrands) { state.filteredBrands = state.filteredBrands.filter((item) => { console.log(payload); item.id == payload; }); }
在vuex中我需要id
來比較,如果有相同則刪除。
我該改變什麼?
如果您不想更改
deleteCheckboxItems
的實現,請使用數組將this.$store.commit
與 for every 一起包裝,如下所示:response.data.items.forEach(element => { this.$store.commit('deleteCheckboxItems', element) });
此外,更重要的是您的
#filteredBrands.filter
不會過濾,因為您沒有傳回值。你必須return item.id === Payload
.使用
map
函數取代forEach
:您的
filter
函數也需要一些更改。它應該會傳回一個布林值,但您忘記傳回該值。有效負載可能是一個 id 數組,您應該使用一些函數,例如
includes
來檢查您的情況。