vue element tree组件自定义节点内容 删除节点不更新DOM的问题

图片描述

先付图,如上所示的element tree可以删除节点

删除的流程大致是先通过接收的两个参数node和data, 通过node.parent.data.children拿到子节点数据,
然后通过遍历(const index = children.findIndex(d => d.id === data.id))

拿到节点的index,执行children.splice(index, 1),一模一样的代码可是我的DOM并没有更新(就是没有删掉),求教各位大神,怎么回事,万分感谢(对了添加是有用的,就是删除不更新)。

阅读 7.4k
2 个回答

我用了 JSON.parse(JSON.stringify(data)) 把删除后的整个原始数据转换一下就可以了。

我的代码:

remove(node, data) {
      const parent = node.parent;
      const children = parent.data.children || parent.data;
      const index = children.findIndex(d => d.id === data.id);
      children.splice(index, 1);
      this.treeData = JSON.parse(JSON.stringify(this.treeData))
    },

你要看一下你的数据结构,我之前写的时候跟你是一样的情况,然后看了一下数据,获取 children 那改成了 const children = parent.childNodes || parent 而不是官方的 const children = parent.data.children || parent.data ,根据自己的数据结构去处理

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题