用Vuex做购物车中修改属性,可以说是最难的一个环节,现在我帮大家总结一下:
1、在state中线做一个:popupIndex:-1,用来存放要修改属性的商品索引
2、利用这个索引,在计算属性getters中,新建popupData离开存放当前所需要修改属性的商品详情,
popupData:(state)=>{
return state.popupIndex >-1 ? state.list[state.popupIndex] : {}
}
3、在方法mutations中,编写初始化商品索引popupIndex的方法
//初始化popupIndex
initPopupIndex(state,index){
state.popupIndex = index
}
4、在异步方法actions中,把初始化商品索引放在popup弹出的时候去初始化
doShowPopup({state,commit},index){
commit('initPopupIndex',index)
state.popupShow = 'show'<!-- 规格属性 -->
<view class="d-flex text-light-muted mb-1" :class="isEdit?'p-1 bg-light-secondary mb-2 ':''" @tap.stop="doShowPopup(index)" >
},
最后在购物车中的调用这个方法即可: