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>
相关推荐
GISer_Jing1 分钟前
两种AI交互方式深度解析——浏览器书签&插件
前端·人工智能·ai·prompt
哈__8 分钟前
ReactNative项目OpenHarmony三方库集成实战:react-native-device-info
javascript·react native·react.js
前端布鲁伊11 分钟前
零代码上线一个图片处理网站,我是如何使唤AI干活的?
前端·ai编程
庄小焱12 分钟前
React——React基础语法(2)
前端·javascript·react.js
终端鹿15 分钟前
Vue3 核心 API 深度解析:ref / reactive / computed / watch
前端·javascript·vue.js
console.log('npc')21 分钟前
partial在react接口定义中是什么意思
前端·javascript·typescript
SuperEugene22 分钟前
前端 utils 工具函数规范:拆分 / 命名 / 复用全指南,避开全局污染等高频坑|编码语法规范篇
开发语言·前端·javascript
C澒26 分钟前
微前端容器标准化 —— 公共能力篇:通用请求
前端·架构
llxxyy卢34 分钟前
web部分中等题目
android·前端
若惜44 分钟前
selenium自动化测试web自动化测试 框架封装Pom
前端·python·selenium