naive-ui 的 tree 组件有异步加载的功能,但是当勾选的父节点还没有加载子节点时候控制台上会报错:
Uncaught Error: SubtreeNotLoadedError: checking a subtree whose required nodes are not fully loaded.
要如何解决这个问题?
比如我可以自己写代码检测当勾选的节点还没有初始化的话就先初始化再勾选
naive-ui 的 tree 组件有异步加载的功能,但是当勾选的父节点还没有加载子节点时候控制台上会报错:
Uncaught Error: SubtreeNotLoadedError: checking a subtree whose required nodes are not fully loaded.
要如何解决这个问题?
比如我可以自己写代码检测当勾选的节点还没有初始化的话就先初始化再勾选
5 回答1.5k 阅读
4 回答1.3k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
5 回答1.6k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
2 回答1.6k 阅读✓ 已解决
4 回答1.1k 阅读✓ 已解决
当勾选的节点还没有加载子节点时,可以通过自定义代码来实现异步加载并勾选的功能。以下是一种可能的解决方案:
before-check
的监听事件,用于在勾选节点之前进行处理。html
<template>
<na-tree :data="treeData" @before-check="handleBeforeCheck"></na-tree>
</template>
handleBeforeCheck
方法中,检查当前节点是否已经加载了子节点。如果没有加载,则先加载子节点,再勾选节点。methods: {
async handleBeforeCheck(node) {
},
loadChildren(nodeId) {
},
}
如果是这个解决的话基本可行,但还可以进行一些改进:
data() {
return {
};
},
methods: {
async handleBeforeCheck(node) {
},
}
loadChildren(nodeId) {
return new Promise((resolve, reject) => {
});
},