el-tree刷新树默认展开/保留当前操作节点获取展开的节点

el-tree鼠标移入不展开的情况下显示下级的内容 先上效果图 阅读详情

 

 @node-expand="openNode"

@node-collapse="closeNode"

分别是展开节点时触发和收起节点时触发

:default-expanded-keys="defaultShowNodes"指定需要默认展开的数组 

一定要加node-key,代表唯一的值,一般都是id

 

 openNode (data, node, self) {
      // console.log(data,node.self,'展开');
      // 保存当前展开的节点
      let flag = false
      this.defaultShowNodes.some(item => {
        if (item === data.id) { // 判断当前节点是否存在, 存在不做处理
          flag = true
          return
        }
      })
      if (!flag) { // 不存在则存到数组里
        this.defaultShowNodes.push(data.id)
      console.log(this.defaultShowNodes);
  }
    },
    closeNode (data, node, self) {
      //  console.log(data,node.self,'关闭');
      // 删除当前关闭的节点
      this.defaultShowNodes.some((item, i) => {
        if (item === data.id) {
          this.defaultShowNodes.splice(i, 1)
        }
      })
    // 这里主要针对多级树状结构,当关闭父节点时,递归删除父节点下的所有子节点
      this.removeChildrenIds(data)
      console.log(this.defaultShowNodes);
    },
   
    // 删除树子节点
    removeChildrenIds(data) {
      const ts = this
    //懒加载的时候想要删除子节点  得在加载下级数据时添加上data.children
      if (data.children) {
        data.children.forEach(function(item) {
          const index = ts.defaultShowNodes.indexOf(item.id)
          if (index != -1) {
            ts.defaultShowNodes.splice(index, 1)
          }
          ts.removeChildrenIds(item)
        })
      }
    },
   // 模糊查询
     filterNode(value, data) {
        if (!value) return true;
        return data.name.indexOf(value) !== -1;
      },

 

el-tree修改、(删除)节点后,不刷新整颗,局部刷新节点 1.需求 这里有个需求就是我要修改子节点。修改之后又不能刷新整棵,要记录当前点击的节点,如果刷新了就记不住了,想记录会比较麻烦,一般的都是不会刷新整棵,局部刷新 我这里的需求是点击这棵的时候发送请求获取他的子节点,把子节点添加进去, 在template中 <el-tree class="firstTree-tree" :data="treeData" node-ke... 阅读详情

相关推荐

el-tree后续需求之解决(更新节点数据、默认选中节点

一 背景        el-tree的数据来源,通过后台获取,之前考虑由于刷新数据造成页面闪动的问题,处理方法为不实时刷新el-tree的数据(只考虑到了添加)。         添加一个treeNode时,成功后,调用后台的getTree重新获取最新数据newData,遍历找到新增的目标对象,将其获取作为当前选中节点的子Node。这样没有刷新整棵,保证页面不会晃动。 二 引发问题:...

Bonjourjw的博客 1万+

element el-tree 刷新保留展开状态

@node-expand="handleNodeExpand" // 展开节点时触发的函数 @node-collapse="handleNodeCollapse" // 关闭节点时触发的函数 // 节点展开 handleNodeExpand(data) { // 保存当前展开节点 let flag = false this.defaultExpandIds.some(item => { if (item === data.id) { // 判断当前节点是否存在, 存.

zjx147的博客 1684

element的el-tree结构-添加或删除子节点后(也就是数据刷新后)-保持节点状态不发生改变

利用node-expand和node-collapse监听展开和关闭的状态; 把展开节点id push给defaultExpandKeys,保持展开状态; 再次点击此节点-再从defaultExpandKeys数组内对应的id(节点)扔出去;

m0_67063319的博客 3946

Element UI el-tree 保存当前展开节点,再次异步获取结构数据时默认展开当前保存的节点

问题:设置默认展开节点后,一顿操作,需要记录当前已经展开节点,并且在获取数据重新渲染时设置默认展开 <el-tree ref="tree" v-loading="treeLoading" :data="studentTree" :props="defaultProps" :highlight-current="true" node-key="id" :default-expanded-keys="defaultShowNodes" @node-click="handleTre.

z00001993的博客 3307

element Tree 形控件default-expanded-keys 将指定节点的父级都展开

element Tree 形控件default-expanded-keys 将指定节点的父级都展开

qq_43987527的博客 3203

element el-tree结构刷新保留展开状态解决方法

element el-tree结构刷新保留展开状态解决方法 我们在使用element的el-tree组建的时候,当我们给结构重新赋值后,节点就全部自动合上了。所以我们要记录展开状态,方法如下 html <el-tree ref="tree" :data="treeList" :highlight-current="true" :default-expanded-keys="defaultExpandIds" //这个属性就是记录展开状态的 :filter-node-meth

qq_43555948的博客 9412

el-tree新增、编辑、删除节点后如何做到局部刷新el-tree

前提需要: 其中新增与编辑,因为不是懒加载的tree,小编与后端协调后决定,新增与编辑成功后,接口会返回当前新增或编辑的数据,及其子节点, 如: 这是在新增后,后端返回接口的接口,在产品下新增产品经理。 如果是在编辑有子节点的数据时,就会返回与图相同的数据。 如果编辑没有子级节点的数据,就会返回: 问题还原图: 问题描述: 在新增、编辑、删除时,只刷新当前修改的节点,不刷新整个tree。 新增与编辑都需要借助后端同事的帮助,而删除则是前端逻辑实现。 但...

温柔咩咩的博客 8666

el-tree刷新节点刷新

el-tree刷新节点刷新 文章目录一、单节点刷新1. 如果你的el-tree设置了node-key="id",拿父节点的id 作为第一个参数,2. 重新请求子节点数据,数组作为第二个参数3. 调用updateKeyChildren二、全刷新1. 保存上次展开节点的id (可选)2. 清除本次的store数据3. 设置的defaultExpandedKeys属性值变量 一、单节点刷新 1. 如果你的el-tree设置了node-key=“id”,拿父节点的id 作为第一个参数, 2. 重新请

许珊珊同学的专栏 1万+

el-tree刷新数据之后保持之前的打开状态

简而言之就是利用:default-expanded-keys=“expandedList” 这个默认展开的属性 然后用expandedList 数组记录你的展开情况 在数据刷新之后,el-tree 会自动根据这个属性值的数组展开选项 话不多说,上代码: <template> <el-tree ref="navigationTree" :default-ex...

思渝崖 7257

el-tree没有复选框时,选中、currentNodeKey高亮、定位、刷新保留展开状态功能的实现

使用无选择框的el-tree时,当点击某行数据的时候会有背景色,但是当鼠标点击别处时,便失去焦点,背景色随之消失了。el-tree没有复选框时,选中、高亮、定位、刷新保留展开状态功能的实 vue2+elementUI的el-tree的选中、高亮、定位功能,其中定位功能涉及到无论当前在那个菜单,删除某一项菜单后,刷新菜单会跳到全部:current-node-key="currentNodeKey" ----> 设置初始选中的值:highlight-current="true" ----> 设置高亮 必须写

qq_37485170的博客 5735

el-tree节点新增、编辑、删除后局部刷新

场景:左侧为,右侧为的增删改配置,右侧增删改操作之后想要实现左侧节点的局部刷新,保证用户的体验效果。(u‿ฺu✿ฺ)

weixin_44160439的博客 8436

vue中el-tree默认选中节点问题

vue中el-tree默认选中节点问题 前言 最近用到了el-tree这个组件,要求全部结构默认展开默认全选 一、el-tree默认选中 1.使用方法 el-tree自带有默认展开的属性default-checked-keys,这个属性对应的是个数组,里面的参数是对应node-key的内容,就如同下图里面的例子 <el-tree :data="treelist" :props="defaultProps" :default-checked-keys="defa

qq_43049525的博客 2万+

vue中el-tree增加节点后重新刷新

1.形组件 <el-tree v-if="openPanel" //重加载 :data="data" //形数据 :props="defaultProps" node-key="id" //默认展开节点 :default-expanded-keys="[-1]" //默认展开节点-1 @node-click="handleNodeClick">...

xy405580364的博客 2万+

使用el-tree支持保留节点的拖放操作

产品的需求千奇百怪,在成长中的产品的需求更是。最怕的是到处抄,然后四不像,苦了开发人员了。 话说我们需要一棵,这个上有中间节点(文件夹)和叶子节点。然后这些数据会来自两个系统,代表的含义也不相同,就这样优秀没有办法,这都不是事。事情是支持某些文件夹下的节点(包括子中间节点和叶子节点)能拖放到另外一些节点里面,这也不是事,el-tree能支持。可怕的就是,一些拖放是删除源节点操作,就像移动操作;另一些拖放是保留节点操作,就像在目标节点下创建了副本,哈哈,就是这么有意思:( 删除源的移动是el-tre

东逝水 1862

el-tree设置默认展开节点后,el-tree点击节点不能关闭(触发node-collapse事件,节点无法关闭)

项目中使用到el-tree, 考虑到数据量还是有这么大,就想将用户对节点操作保存下来(保存用户已点击展开节点id,在下一次进入或刷新后,对其进行默认展开操作) 问题:在后面测试中发现点击第一级展开的某些节点节点竟然无法关闭。。。。。

IT_dabai的博客 4292

vue项目中使用element UI中的el-tree刷新后保持节点展开状态

el-tree刷新后保持节点展开状态 最近在搞一个前后端分离的项目,有一个菜单页面,使用的是element UI中的el-tree,但是在刷新后父节点关闭了展开状态,这让我很苦恼啊,找了很多资料,没有找到适合我这个情况的,于是采用了一种用sessionStorage存储点击了哪个就让哪个展开的方法,代码如下 首先,需要将点击的一级节点的某一个属性值保存到sessionStorage中,我采用的是id(因为菜单列表是动态获取的) 然后在点击链接跳转到另一个页面后,在取出id值 重要的是 在el-tree使

qq_45959912的博客 5393
上一篇: eacharts和eacharts-gl、3d饼图、3d柱状图加折线图、下载gl报错解决
下一篇: 记录:vue 让element-ui级联选择器选中后下拉框自动收起/解决懒加载后选择任意一级出现暂无数据
一架打字机
博客等级 码龄5年 39粉丝 · 35原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值