a-tree-select异步加载回显时显示异常bug
在a-tree-select组件异步加载回显时,treeData是只有第一层数据的,此时如果选择的是子节点的数据,label是匹配不到的。
如何才能让子节点也加载到呢?其实很简单。
第一步,在a-tree-select组件中加两个额外的属性:
:tree-default-expanded-keys="keys"
:open="treeSelectOpen"
这种是不需要前端记录选中节点父子级key集合的,由后端在返回回显数据时生成选中节点的路径。如果节点路由需要由前端记录生成,传由后端保存,则将treeDefaultExpandedKeys属性改为treeExpandedKeys(v-model)属性。
第二步,在js部分声明变量 treeSelectOpen:
const treeSelectOpen = ref(false)
第三步,在js中获取回显数据之后添加下方代码:
treeSelectOpen.value = true
await nextTick()
treeSelectOpen.value = false
至于async的位置,请结合自己代码修改。