javascript - vue findIndex 不是函数
问题描述
findIndex()
这里我在函数中遇到错误
Uncaught (in promise) TypeError: state.carts.findIndex is not a function
cartId 有 rowId 和 qty 以及 sizeVal 和 image
方法
updateCart() {
this.$store.dispatch('updateCart', this.cartId)
}
状态
state: {
carts: [],
},
Vue 检查推车
031e0275ef3746070e80d81199bd2580:Object {
id:1
name:"T-Shirt"
options:Object {
image:"products\July2018\4TXSMgf6eAdrOlaxAMiX.jpg"
}
size:"l"
price:551
qty:2
rowId:"031e0275ef3746070e80d81199bd2580"
subtotal:1102
tax:115.71
}
突变
updateCart(state, rowId) {
const index = state.carts.findIndex(cart => {cart.rowId == rowId});
// console.log(index)
state.carts.splice(index, 1, {
'qty': cart.qty,
'size': cart.sizeVal,
})
},
在我的行动中是工作
行动
updateCart(context, cart) {
return new Promise((resolve, reject) => {
axios.patch(`update/cart/${cart.id}` , {
id: cart.rowId,
qty: cart.qty,
size: cart.sizeVal,
image: cart.image
})
.then(response => {
context.commit('updateCart', response.data)
resolve(response)
})
.catch(error => {
reject(error)
})
})
},
现在我需要在 state.carts 中更新购物车的错误需要帮助,请大家了解一下为什么它给了我错误
谢谢
解决方案
你state.carts
是一个对象,而不是一个数组。
findIndex
是一个数组方法
findIndex() 方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回 -1。
推荐阅读
- c++ - 提供额外参数时可变参数函数崩溃
- sql-server - 如何比较 MS SQL 和 Snowflake 中 SHA-256 函数返回的十六进制编码字符串?
- javascript - 在 React JS 中嵌入 Power BI 报表以获取报表实例
- r - 将字符串分解为 R 中的各个字段
- html - 具有固定页脚的文本区域未正确显示下一行
- c# - 使用 MVVM 在 WPF 中更改 ObservableCollection 时如何触发转换器?
- python - 在 sqlalchemy 中对数据库 uri 使用 postgres 和 postgresql 有什么区别?
- java - Swing:无法在 JPanel 中居中 vbox
- node.js - npm install 总是给出“您的缓存文件夹包含根拥有的文件,这是由于 npm 以前版本的 npm 中的一个错误,该错误已得到解决。”
- javascript - 循环遍历嵌套的 Axios GET 请求(分页)