Vue Mutation IndexOf给出-1

时间:2017-12-03 07:03:38

标签: javascript vue.js

大家好我试图删除一个“产品”产品确实从数据库中删除,在我的VuexStore中我有一系列产品所以当我想要删除时我想拼接那个列表,那么我是什么已经做了以下

这是调度的动作,它正在运行,它执行删除

 removeProduct({ commit }, payload) {
    commit(REMOVE_PRODUCT)
    axios.delete(`${API_BASE}/product/${payload}`, payload).then(response => {
      console.debug('response', response.data)
      commit(REMOVE_PRODUCT_SUCCESS, response.data)
    })

这是我的变异,我想从商店获取产品列表,并检查产品ID等于有效负载的产品索引

   [REMOVE_PRODUCT_SUCCESS]: (state, payload) => {
      state.showLoader = false
  const index = state.products.findIndex(p => p.id === payload)
  state.products.splice(index, 1)
    },

如果我控制台记录这个state.products.indexOf(product => product.id)我得-1 -

此时有效负载是一个对象,但当我将其更改为该对象的id时,此state.products.indexOf(product => product.id)仍为-1

请帮助我如何从产品阵列中获取我想要删除的产品的索引,并从列表中拼接该产品

1 个答案:

答案 0 :(得分:0)

indexOf不接受函数参数,您想要使用findIndex