Vue js拖放如何删除数组中的重复id

cuxqih21  于 2022-11-17  发布在  Vue.js
关注(0)|答案(1)|浏览(233)

我想使用Vue JS框架创建一个拖放应用程序。Here is an example of my complete code
问题出在children数组内的id属性。
例如,当我将名为**'AAA'**的对象拖到另一个位置时,一切正常,但当我将其拖回时,出现类似于-Duplicate keys detected的错误:“0”。这可能会导致更新错误。

我很确定问题出在oneDrop函数内部

  1. onDrop(e, categoryId) {
  2. const itemId = parseInt(e.dataTransfer.getData('itemId'))
  3. this.categories.map(item => {
  4. item.children = item.children.filter(child => {
  5. if (child.id == itemId) {
  6. child.categoryId = categoryId;
  7. this.categories[categoryId].children.push(child);
  8. }
  9. return child
  10. })
  11. })
  12. }

当然,我理解当使用push方法拖动时,旧对象仍然存在,并没有被删除,所以我得到了这个错误,但是如何处理这个问题呢?(问题开头的完整代码)

91zkwejq

91zkwejq1#

您需要从以下位置筛选列表并将项目添加到列表:
第一个

相关问题