el-tree按照用户勾选的顺序记录节点

el-tree按照用户勾选的顺序记录节点

在 Element UI 的 el-tree 组件中,默认情况下获取的选中节点数组是没有顺序的。如果你需要按照用户勾选的顺序记录节点,可以通过以下方法实现:

html 复制代码
<template>
  <el-tree
    ref="tree"
    :data="data"
    show-checkbox
    node-key="id"
    @check-change="handleCheckChange"
  ></el-tree>
  <div>勾选顺序: {{ checkedOrder.join(', ') }}</div>
</template>

<script>
export default {
  data() {
    return {
      data: [
        // 你的树数据
      ],
      checkedOrder: [], // 存储勾选顺序
      checkedSet: new Set() // 用于快速判断节点是否已记录
    };
  },
  methods: {
    handleCheckChange(node, checked) {
      if (checked) {
        // 如果是勾选且尚未记录
        if (!this.checkedSet.has(node.id)) {
          this.checkedOrder.push(node.id);
          this.checkedSet.add(node.id);
        }
      } else {
        // 如果是取消勾选
        const index = this.checkedOrder.indexOf(node.id);
        if (index > -1) {
          this.checkedOrder.splice(index, 1);
          this.checkedSet.delete(node.id);
        }
      }
    },
    getCheckedNodesInOrder() {
      // 按照勾选顺序获取节点
      return this.checkedOrder.map(id => {
        return this.$refs.tree.getNode(id).data;
      });
    }
  }
};
</script>
相关推荐
IT_陈寒2 分钟前
Redis 性能提升秘籍:这5个被低估的命令让你的QPS飙升200%
前端·人工智能·后端
多看书少吃饭2 分钟前
前端实现抽烟识别:从算法到可视化
前端·算法
暖木生晖3 分钟前
Javascript变量介绍
开发语言·javascript·ecmascript
excel5 分钟前
合并路由与微前端框架的对比解析
前端
心.c6 分钟前
JavaScript继承详讲
开发语言·javascript·ecmascript
立方世界12 分钟前
【Leaflet.js实战】地图标记与弹窗:从基础到高级的完整实现
开发语言·javascript·ecmascript
aesthetician16 分钟前
clsx:高效处理 React 条件类名的实用工具
前端·react.js·前端框架
粉末的沉淀23 分钟前
css:固定跨度间隔的渐变色设置
前端·css
阿正的梦工坊24 分钟前
Mac电脑解决 npm 和 Yarn 安装时的证书过期问题
前端·macos·npm
你的电影很有趣2 小时前
lesson70:jQuery Ajax完全指南:从基础到4.0新特性及现代替代方案引言:jQuery Ajax的时代价值与演进
javascript·ajax·jquery