基于element-ui的树表排序问题

===========================================

前端代码

复制代码
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";

export default {
  name: "Task",
  components: {
    
    Treeselect
  },

 <el-table v-loading="loading" :data="taskList" row-key="taskId" border :row-class-name="tableRowClassName"
      :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
      <!-- <el-table-column label="项目ID" align="center" prop="projectId" /> -->
      <!-- <el-table-column label="任务父ID" align="center" prop="parentId" />
      <el-table-column label="父类模板编号" align="center" prop="ancestors" /> -->
      <el-table-column prop="index" width="150" label="序号" align="center">

      </el-table-column>
</el-table>

=================js

复制代码
  /** 查询任务总表列表 */
    getList() {
      this.loading = true;
      listTask(this.queryParams).then(response => {
        this.taskList = this.handleTree(response.data, "taskId", "parentId");
        this.taskList = this.indexData1(this.taskList)
        this.loading = false;
      });

    },


    // 排序
    indexData1(val) {
      console.log(val)
      val.forEach((item, index) => {
        item.index = index + 1 + '';

        if (item.children.length > 0) {
          this.indexData2(item, item.index);
        }
      });
      return val;
    },
    indexData2(item, oldIndex) {
      if (item.children.length < 0) return;
      if (item.children.length > 0) {
        item.children.forEach((Item, i) => {
          Item.index = oldIndex + '.' + (i + 1);
          this.indexData2(Item, Item.index);
        });
      }
    },
相关推荐
神の愛21 分钟前
左连接查询数据 left join
java·服务器·前端
EaseUI1 小时前
【Ease UI】2026-04-24 项目更新:增加多种风格登录页,增加菜单风格切换
ui
小码哥_常2 小时前
解锁Android嵌入式照片选择器,让你的App体验丝滑起飞
前端
郑寿昌3 小时前
IIoT本体迁移的领域扩展机制
服务器·前端·microsoft
深海鱼在掘金3 小时前
Next.js从入门到实战保姆级教程(第十一章):错误处理与加载状态
前端·typescript·next.js
深海鱼在掘金3 小时前
Next.js从入门到实战保姆级教程(第十二章):认证鉴权与中间件
前端·typescript·next.js
energy_DT4 小时前
2026年十五五油气田智能增产装备数字孪生,CIMPro孪大师赋能“流动增产工厂”三维可视化管控
前端
龙猫里的小梅啊4 小时前
CSS(四)CSS文本属性
前端·css
MXN_小南学前端4 小时前
watch详解:与computed 对比以及 Vue2 / Vue3 区别
前端·javascript·vue.js
饭小猿人4 小时前
Flutter实现底部动画弹窗有两种方式
开发语言·前端·flutter