web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. seo教程
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站

el-table(Sortable)简单实现拖动排序(亲测有效)

689 ℃
           

el-table(Sortable)简单实现拖动排序(亲测有效)

1、template组件,这里需要注意2点,ref="dragTable"和row-key="id"

<template>
  <el-table :data="list" ref="dragTable" highlight-current-row row-key="id">
    <el-table-column label="id" width="60" prop="id"></el-table-column>
    <el-table-column label="name" prop="name"></el-table-column>
    <el-table-column label="school" prop="school"></el-table-column>
    <el-table-column label="age" prop="age"></el-table-column>
    <el-table-column label="sex" prop="sex"></el-table-column>
  </el-table>
</template>

2、script可以之间复制使用

import Sortable from "sortablejs";
export default {
  data() {
    return {
      list: [
        { id: 1, name: "张富贵", school: "西瓜南大学", age: "22", sex: "不知", sort:1 },
        { id: 2, name: "李德华", school: "西瓜南大学", age: "22", sex: "不知", sort:2 },
        { id: 3, name: "董小明", school: "西瓜南大学", age: "22", sex: "不知", sort:3 }
      ],
      oldId: "",
      newsId: ""
    };
  },
  mounted() {
    this.setSort();
  },
  methods: {
    setSort() {
      const el = this.$refs.dragTable.$el.querySelectorAll(
        ".el-table__body-wrapper > table > tbody"
      )[0];
      this.sortable = Sortable.create(el, {
        ghostClass: "sortable-ghost",
        setData: function(dataTransfer) {
          dataTransfer.setData("Text", "");
        },
        onEnd: evt => {
          const targetRow = this.list.splice(evt.oldIndex, 1)[0];
          this.list.splice(evt.newIndex, 0, targetRow);
          console.log("原来位置", targetRow.sort);
          console.log("现在位置", evt.newIndex + 1); //这是当前页面位置,如果是分页需要自己改一下
        }
      });
    }
  }
};

el-table合并行的通用方法(附js代码)

el-table利用:row-style="rowClass"设置指定行变色

原生js如何判断图片是否存在

el-table表格显示selection多选时对某些复选框设置禁止选中

el-table表格实现多选功能(全选/指定选中/取消选中)

标签: el-table, queryselectorAll, sort, 排序

上面是“el-table(Sortable)简单实现拖动排序(亲测有效)”的全面内容,想了解更多关于 vuejs 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_10.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > vuejs
本文共计1343个字,预计阅读时长9分钟
生活小工具,收录了80多款小工具
上一篇: 推荐一款免费可商用仿宋字体——汉字之美仿宋GBK
下一篇: 推荐一款免费可商用英文字体——Atkinson Hyperlegible
x 打工人ai神器