【发布时间】:2021-01-30 22:25:54
【问题描述】:
首先,我知道这个问题已经被问过多次,但我的回答没有任何解决方案。我已经搜索并尝试了各种不同的方法,例如将其设为对象、使用过滤器等,但似乎没有任何效果。
我之前(大约 6 个月前)使用过这段代码,然后它就可以工作了。
代码:
editByIdSuccess: (state, draggedEvent) => { let index = state.events.findIndex(event => event.id === draggedEvent.id); if(index !== -1){ state.events.splice(index, 1, draggedEvent); } },
返回“Uncaught (in promise) TypeError: state.events.findIndex is not a function”。我也尝试过创建一个函数并尝试使用 Object.Assign。
状态是一个数组,定义如下:
const state = {
events: []
};
感谢您的解释,这样我就可以理解为什么我不能再做这样的代码了。
【问题讨论】:
-
@Andreas,谢谢,我发帖后看到了。我现在改了。
-
在尝试使用之前检查
state.events的类型。也许它在某个地方被覆盖了。 -
@Teemu,我想你就在这里。似乎状态在某个地方发生了变化,但我无法弄清楚在哪里。感谢您的提醒!
-
@Teemu,你完全正确!非常感谢您的快速解决方案。
标签: javascript vue.js vuex