当前位置: 首页 > news >正文

elementUI中el-tree组件单选没有复选框时,选中、current-node-key高亮、刷新后保留展开状态功能的实现

目录

  • 一、代码实现
    • 1. 属性了解 ([更多](https://element.eleme.cn/#/zh-CN/component/tree))
    • 2. 实现步骤
    • 3.代码示例
  • 二、 效果图

一、代码实现

1. 属性了解 (更多)

  1. node-key 每个树节点用来作为唯一标识的属性,整棵树应该是唯一的 String
  2. current-node-key 当前选中的节点 string, number
  3. expand-on-click-node 是否在点击节点的时候展开或者收缩节点, 默认值为 true,如果为 false,则只有点箭头图标的时候才会展开或者收缩节点。 boolean — true
  4. default-expand-all 是否默认展开所有节点 boolean — false
  5. highlight-current 是否高亮当前选中节点,默认值是 false。 boolean — false
  6. check-on-click-node 是否在点击节点的时候选中节点,默认值为 false,即只有在点击复选框时才会选中节点。 boolean — false

2. 实现步骤

  1. 设置一个固定值 node-key=“id”, 根据实际项目配置唯一的标记

  2. 定义当前选中节点 :current-node-key=“currentDeptId”

  3. 设置highlight-current为true

  4. 设置current-node-key为currentDeptId,同时刷新接口时重新设置currentDeptId,代码如下

    this.$nextTick(() => {this.$refs['tree'].setCurrentKey(this.currentDeptId);
    })
    

    3.代码示例

    1.html部分

      <el-tree :data="deptOptions" :props="defaultProps" node-key="id" :expand-on-click-node="false"ref="tree" default-expand-all highlight-current @node-click="handleNodeClick":current-node-key="currentDeptId" :check-on-click-node="true"><span class="custom-tree-node" slot-scope="{ node, data }"><span>{{ node.label }} </span></span></el-tree>
    
    1. js部分:
       // 部门树选项deptOptions: undefined,// 配置选项defaultProps: {children: "children",label: "label",},//默认选中的部门currentDeptId: null,   // 比如:107currentDeptName: null, methods: {// 节点单击事件handleNodeClick(data) {console.log(data, '节点单击事件')this.currentDeptId = data.idthis.currentDeptName = data.label},}
    

    根据实际需要,在刷新下拉树的时候,这个currentDeptId,需要重置。(以便在刷新后,保留刷新前的选中状态)

     /** 查询下拉树结构 */getTreeselect() {deptTreeselect({}).then((response) => {this.deptOptions = response.data;// 设置highlight-current为true// 设置current-node-key为currentDeptId,同时刷新接口时重新设置currentDeptId,新后保留展开状态功能的实现 ,代码如下// 设置选中this.$nextTick(() => {this.$refs["tree"].setCurrentKey(this.currentDeptId);});});},
    
    1. css部分
    <style scoped>
    /*  鼠标hover改变背景颜色 *//deep/ .el-tree-node  .el-tree-node__content:hover {background-color: #f0f7ff !important;color: #409eff;}/*  颜色高亮 *//deep/ .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {color: #409eff;}
    </style>
    

    二、 效果图

    在这里插入图片描述

http://www.lryc.cn/news/293453.html

相关文章:

  • Ubuntu上开启FTP服务教程
  • C语言数组指针详解与应用
  • 计算机服务器中了DevicData勒索病毒如何解密,DevicData勒索病毒解密流程
  • 面试150 位1的个数 位运算
  • Mysql的BufferPool
  • 嵌入式中物联网核心技术有哪些
  • C语言入门到精通之练习36:一个最优美的图案(在TC中实现)。
  • 【Nginx】nginx入门
  • 【数据结构】并查集(路径压缩)
  • FreeMark ${r‘原样输出‘} ${r“原样输出“}
  • nginx初学者指南
  • 第二十五天| 216.组合总和III、17.电话号码的字母组合
  • HTML+CSS:全景轮播
  • 【WPF.NET开发】​优化性能:布局和设计
  • go语言-context的基本使用
  • 《计算机网络简易速速上手小册》第9章:物联网(IoT)与网络技术(2024 最新版)
  • 开源博客项目Blog .NET Core源码学习(8:EasyCaching使用浅析)
  • windows下docker的使用
  • C语言——R/预处理详解
  • Unity_PackageManager缺失
  • Megatron-LM源码系列(七):Distributed-Optimizer分布式优化器实现Part2
  • [SWPUCTF 2021 新生赛]ez_unserialize
  • android tv开发-1,leanback 2
  • Spring Boot注解
  • JavaWeb中的Filter(过滤器)和 Listener(监听器)
  • mybatis查询修改mysql的json字段
  • 实时聊天系统
  • Spring-mvc、Spring-boot中如何在调用同类方法时触发AOP
  • 幻兽帕鲁服务器自动重启备份-python
  • C# Onnx yolov8 水表读数检测