el-tree 重置为初始状态
时间: 2023-12-01 11:42:16 浏览: 226
根据提供的引用[1],el-tree组件在执行完树节点的懒加载后就不会触发load,如果想要重新加载需要拿到树的根节点,然后清空子树,重新调用load的请求函数。具体操作如下:
1.在需要重置的地方,添加如下代码:
```javascript
if (this.$refs.tree) {
const rootNode = this.$refs.tree.getNode(this.$refs.tree.store.root.id)
rootNode.childNodes = []
this.$refs.tree.store._initDefaultCheckedNodes()
this.$refs.tree.store._initDefaultCheckedKeys()
this.$refs.tree.store._initDefaultExpandedKeys()
this.$refs.tree.store._initCheckedNodes()
this.$refs.tree.store._initSelectedNodes()
this.$refs.tree.store._initCurrentNode()
this.$refs.tree.store._initHoveredNode()
this.$refs.tree.store.setData(this.data)
}
```
其中,this.$refs.tree表示获取到el-tree组件的引用,rootNode表示获取到根节点,清空子树的操作是将childNodes属性设置为空数组。接下来的一系列操作是为了重置el-tree的状态。
2.在需要重置的地方,调用上述代码即可。
另外,根据提供的引用,如果您使用的是ElementUI的el-select与el-tree结合的方式,可以使用el-select-tree组件来实现重置为初始状态的功能。具体操作可以参考el-select-tree的官方文档。
阅读全文