javascript - Vuex:将存储状态擦除回空数组
问题描述
我有一个调用 Vuex 存储状态scannedList
,初始状态是[]
:
state: {
scannedList: []
}
我有一个将 id 推送到数组的突变。我试图将所有状态清除回一个空数组:
store.commit('addToScannedList', [])
但 id 仍然保留在数组中。实现此目的的正确方法是什么?
解决方案
将空数组推入数组不会清除它。您可以进行新的突变:
resetScannedList(state) {
state.scannedList = [];
}
或者,如果您不传递有效负载,您可以在现有突变中设置一个条件来清除它:
addToScannedList(state, item) {
if(item !== undefined) {
state.scannedList.push(item);
} else {
state.scannedList = [];
}
}
您将store.commit('addToScannedList')
在没有有效负载的情况下触发
推荐阅读
- laravel - 我在哪里可以找到框架(Laravel)中的一些基本功能?例如 Illuminate\Auth\Middleware\AuthenticateWithBasicAuth 中的 basic()
- firebase - 使用分页器时更新材料表的问题
- php - 从购物车页面上的产品缩略图中删除链接
- javascript - 禁用其中一个包含任何值的
- html - 悬停图像上的 CSS 动画效果不起作用
- vue.js - Vue Router 模仿原生移动标签和历史堆栈
- url-parameters - 货币兑换 API 中的逗号?
- mysql - 如果不进行第二次查询,是否可以知道是什么 UPDATE "WHERE" 语句导致不更新?
- python - 当我使用 which python 时,python 有两个单独的路径
- javascript - 如何对带有解构 props 的组件进行测试?