【发布时间】:2021-06-13 14:30:36
【问题描述】:
我正在尝试从保存在 localStroage 中的购物车中删除单个购物车项目,到目前为止,我只能通过 removeitem() 或 clear() 删除整个数组,但我想按项目 ID 删除选择性项目.同时,如果我使用拼接,我会遇到错误。我正在学习,如果我需要提供更多信息,请告诉我。
deleteProduct: (index) => {
const existingEntries = JSON.parse(localStorage.getItem("cartData"));
existingEntries.splice(index, 1);
localStorage.setItem("cartData", JSON.stringify(existingEntries));
}
let cartData = window.localStorage.getItem('cartData');
const cart = {
state: {
cartData: cartData ? JSON.parse(cartData) : {
foods: [],
totalPrice: [],
Quantities: []
},
},
【问题讨论】:
-
你可能想在使用拼接之前检查
existingEntries是否是一个数组。 -
我通过 console.log(existingEntries) 检查,它确实是一个数组。您能否提供一个示例代码,展示如何使用 id 从 localStroage 数组中删除项目。
-
你能在localstorage中显示cartData吗
-
我已添加购物车数据信息,请查看
-
它不是一个数组(或字符串),所以它没有拼接方法。如果这是真实代码,您还需要检查该值是否已设置,用户可以随时删除 localStorage。
标签: javascript vue.js local-storage vuex