在el-tree懒加载中进行局部刷新

这篇具有很好参考价值的文章主要介绍了在el-tree懒加载中进行局部刷新。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在el-tree懒加载中进行局部刷新,前端,elementui
在进行懒加载的树组件中,操作子节点新增、修改以及删除操作时,需要对树组件进行局部刷新:文章来源地址https://www.toymoban.com/news/detail-683780.html

 /* 懒加载 */
async loadNode(node, resolve) {
  if (node.level === 0) {
    // 异步加载根节点数据
    const data = await fn({ parentId: '' });
    resolve(data);
    this.$nextTick(() => {
      const nodeData = node.childNodes[0];
      // 设置选中项
      this.$refs.treeRef.setCurrentKey(data[0].id);
      // 默认展开最外层节点
      nodeData.expanded = true;
      // 自动加载二级节点的数据
      nodeData.loadData();
    });
  } else if (node.level > 0) {
    // 异步加载子节点数据
    const data = await fn({ parentId: node.data.id });
    resolve(data);
  }
},
 
 /* 刷新当前节点 */
refreshTreeNode(node) {
  // 更改当前节点的加载状态
  node.loaded = false;
  // 重新加载数据,入参为加载数据完成后执行的回调函数
  node.loadData(()=>{
    // 设置选中节点(缺少此步骤则会丢失选中状态)
    this.$refs.treeRef.setCurrentKey(node?.data?.id || 0);
  });
},
 
/* 刷新父节点 */
refreshParentTreeNode(node, isChangeSelect) {
  // 更改父节点的加载状态
  node.parent.loaded = false;
  // 重新加载数据
  node.parent.loadData(() => {
    if(!isChangeSelect) {// 不改变选中项
      this.$refs.treeRef.setCurrentKey(node?.data?.id || 0);
    } else {// 选中父节点
     this.currentNode = node.parent;
     this.$refs.treeRef.setCurrentKey(node.parent?.data?.id || 0);
     // todo 更改树节点选中项执行的数据操作
     // ...
    }
  });
},

到了这里,关于在el-tree懒加载中进行局部刷新的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自定义el-tree复选框选中状态vue elementUI

    :check-strictly属性:该属性默认false,表示严格遵循父子相互关联。父子相互关联(即选中父节点其所有子节点全部选中,取消选中父节点其子节点全部取消,且折叠、展开状态都一样)。 Attributes属性 参数 说明 类型 可选值 默认值 check-strictly 在显示复选框的情况下,是否严格

    2023年04月09日
    浏览(41)
  • [element-ui] el-tree 懒加载load

    懒加载:点击节点时才进行该层数据的获取。 注意:使用了懒加载之后,一般情况下就可以不用绑定:data。 懒加载—由于在点击节点时才进行该层数据的获取,默认情况下 Tree 无法预知某个节点是否为叶子节点,所以会为每个节点添加一个下拉按钮,如果节点没有下层数据,

    2024年02月11日
    浏览(66)
  • VUE3 + Elementui-Plus 之 树形组件el-tree 一键展开(收起);一键全选(不全选)

    实现步骤: tree组件部分: ts部分: 页面效果: 默认状态 展开状态 折叠状态 全选状态 全不选状态 注意:以上方法会展开或折叠所有节点;全选或全不选节点。 问题:数据量过大以上操作会有明显卡顿;有高效解决方法的朋友可以交流。

    2024年04月11日
    浏览(47)
  • el-tree多个树进行节点同步联动(完整版)

    2024.1.11今天我学习了如何对多个el-tree树进行相同节点的联动效果,如图: 这边有两棵树,我们发现第一个树和第二个树之间会有重复的指标,当我们选中第一个树的指标,我们希望第二个树如果也有重复的指标也能进行勾选上,反之也是。 (1)要让父节点变成半选状态 这

    2024年01月24日
    浏览(39)
  • 在Vue3+ElementPlus项目中使用具有懒加载的el-tree树形控件

    有时遇到一些需求就是在使用树形控件时,服务端并没有一次性返回所有数据,而是返回首层节点列表。然后点击展开首层节点中的某个节点,再去请求该节点的子节点列表,那么就得用上懒加载的机制了。在此以ElementPlus的树形控件为例,实现一个具有懒加载的树形控件的

    2024年02月06日
    浏览(65)
  • 记录el-select+el-tree复选框,支持模糊查询,懒加载,树父子节点不关联,不全选

    需求:一个机构下拉菜单,一个人员下拉菜单,默认带入当前登录用户的机构和人员。机构下拉菜单为两个接口,模糊查询为一个接口不包含懒加载,默认非模糊查询情况下为一个接口,点击节点懒加载。机构下拉菜单数据变动更新人员下拉菜单数据。日期默认为当天

    2024年01月15日
    浏览(44)
  • vue3+elementPlus:前端自定义el-tree图标icon

    重点:template蒙版下svg和use,然后前端遍历添加key和value,取判断放图标 HTML结构:el-tree里面包裹template(关键点) 方法一:使用for循环 for循环数据,前端自定义tree图标第一种方法,后端key没有icon字段,自己添加 方法二: 使用map遍历 直接map遍历前端自定义tree图标 作者上一

    2024年02月15日
    浏览(46)
  • 【前端】- 在使用Element UI 的el-tree组件时,从底层去研究如何去实现一键展开/关闭【tree节点】的功能

    点击前效果: 点击后效果: 页面部分:这里是简单的数结构渲染,不多讲,$refs.Reftree获取的是el-tree的实例,具体作用请看下面的方法。 方法部分:该方法传入el-tree实例,直接点击按钮即可实现展开或者关闭,这里简单讲解一下 1、ref.store.root.childNodes 通过实例来调用tree组

    2024年04月16日
    浏览(61)
  • element-ui的树形表格el-table懒加载lazy子节点修改数据后局部刷新

    在使用element-ui的树形表格(el-table)懒加载(lazy),并使用了懒加载,出现了一个问题,在对当前节点添加、修改、删除一个子节点数据时,当前节点的子节点数据并不自动刷新出来。element-ui官方没有提供子节点修改数据后局部刷新方法。 首先,在data(){}中定义一个maps:new Map();

    2024年02月12日
    浏览(49)
  • el-tree基础渲染

    el-tree 每个节点左右布局 鼠标经过接电视,左边文字变色,右边不变

    2024年04月17日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包