所以我在使用 vuex getter 時遇到了問題。
我的目標是使用 gettercart對作為物件陣列的資料進行排序datemyCartItems
我的問題是,{prod_id: 2, date: Wed Nov 03 2021 10:40:20}在我的Details組件中推送第二個有效負載后, props['prod_id'] 正在記錄prod_id: 1而不是prod_id: 2
突變
addToCart: (state, payload) => {
state.cart.push(payload) // payload = {prod_id: 1, date: Wed Nov 03 2021 10:37:26}
}
吸氣劑
cartItems: (state) => {
return state.cart.slice().sort(
(a, b) => new Date(b.date).getTime() - new Date(a.date).getTime()
);
},
html
<div v-for="(item,index) in cartItems" :key="index">
<Details :id="item.prod_id" />
</div>
uj5u.com熱心網友回復:
使用索引key是你的問題,因為索引永遠不會根據排序順序改變。
最佳做法是使用唯一識別符號,例如 prod_id
<div v-for="item in cartItems" :key="item.prod_id">
<Details :id="item.prod_id" />
</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/346174.html
標籤:javascript Vue.js Vuex
