当前位置: 首页 > 知识库问答 >
问题:

vue3 - el-tree-select懒加载数据如何回显?

卫烨烁
2023-08-16
<el-tree-select  v-model="value"  lazy  :load="load"  :props="props"  node-key="id"  @check-change="handleCheckedChange"  :default-expanded-keys="expandedKeys"  :default-checked-keys="checkedKeys"  multiple  show-checkbox  />

数据是通过懒加载获取的,default-expanded-keys属性值需要从顶层根节点到当前选中节点的key路径,现在回显的时候只能得到当前选中节点的key,这样该如何回显呢?

想要的效果是:编辑回显时,展开树形控件选中的节点是默认选中的状态

共有1个答案

淳于煌
2023-08-16
function getPathToNode(tree, targetKey, path = []) {  for (const node of tree) {    path.push(node.id);    if (node.id === targetKey) {      return path;    }    if (node.children) {      const foundPath = getPathToNode(node.children, targetKey, path.slice());      if (foundPath) {        return foundPath;      }    }    path.pop();  }  return null;}

tree:是一个对象数组,你第一次调用时候,它是整个树的根节点数组。在递归调用里的时候,它是当前节点的子节点数组。
targetKey:这是你要查的选中节点的key。

 类似资料:
  • 我试图在primefaces数据表设置中实现延迟加载。目前,在没有延迟加载实现的情况下,这是可行的,但是在实现延迟加载后,我在datatable中没有得到任何数据。但是,我可以在我的LoadData方法中打印我的列表,以验证数据是否正在加载到我的列表中,但一旦返回我的LazyModel并尝试加载datatable,似乎就会出现问题。这可能只是我忽略的一些简单的事情。非常感谢您的帮助! 这是我的屏幕

  • 项目中有个树的懒加载功能,这个tree需要根据单选框值的变化来动态加载不同结构的树图如下, 在开发的时候发现这个load只能加载一次,问题是如何在watch监听的时候去在加载一次这个load

  • 请问各位大佬们 如何通过vue3+element-plus实现el-table的子列表懒加载???该如何实现点击左侧的箭头实现子节点的懒加载?不然数据多的情况下 会导致卡顿。求指教,谢谢!!! 这是后台返回的数据格式:

  • vue3 render函数方式创建el-select,不能回显是什么问题呢?

  • 父组件: 子组件CustomTree : 如何在父组件调用el-tree中的getNode方法?

  • 我有一个数据表的问题-懒加载。我认为问题是在IdiomasBean.java(TableBean.java),如果我把: 我得到了正确的数据表,但是<代码>按排序、筛选和不起作用。 我得到:java。lang.NullPointerException这里是堆栈跟踪: 下面是代码的其余部分: 指数xhtml diomasBean.java 懒散的数据模型。JAVA IdiomasBo.java 习语