我想使用Vue JS框架创建一个拖放应用程序。Here is an example of my complete code。
问题出在children
数组内的id
属性。
例如,当我将名为**'AAA'**的对象拖到另一个位置时,一切正常,但当我将其拖回时,出现类似于-Duplicate keys detected的错误:“0”。这可能会导致更新错误。
我很确定问题出在oneDrop
函数内部
onDrop(e, categoryId) {
const itemId = parseInt(e.dataTransfer.getData('itemId'))
this.categories.map(item => {
item.children = item.children.filter(child => {
if (child.id == itemId) {
child.categoryId = categoryId;
this.categories[categoryId].children.push(child);
}
return child
})
})
}
当然,我理解当使用push
方法拖动时,旧对象仍然存在,并没有被删除,所以我得到了这个错误,但是如何处理这个问题呢?(问题开头的完整代码)
1条答案
按热度按时间91zkwejq1#
您需要从以下位置筛选列表并将项目添加到列表:
第一个