【问题标题】:Vuex: Erasing store state back to an empty arrayVuex:将存储状态擦除回空数组
【发布时间】:2020-06-08 15:01:29
【问题描述】:

我有一个名为 scannedList 的 Vuex 存储状态,初始状态是 []

state: {
  scannedList: []
}

我有一个将 id 推送到数组的突变。我试图将所有状态清除回一个空数组:

store.commit('addToScannedList', [])

但 id 仍然保留在数组中。实现此目的的正确方法是什么?

【问题讨论】:

    标签: javascript vue.js vuejs2 vuex


    【解决方案1】:

    将空数组推入数组不会清除它。您可以进行新的突变:

    resetScannedList(state) {
      state.scannedList = [];
    }
    

    或者,如果您不传递有效负载,您可以在现有突变中设置一个条件来清除它:

    addToScannedList(state, item) {
      if(item !== undefined) {
        state.scannedList.push(item);
      } else {
        state.scannedList = [];
      } 
    }
    

    你会用store.commit('addToScannedList') 触发,没有负载

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-07
      • 1970-01-01
      • 2020-10-22
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      • 2017-09-05
      • 1970-01-01
      相关资源
      最近更新 更多