vue3 + Element plus + Ts + Sortable.js 实现table拖拽排序

  • 效果图如下:
image.png

1. 安装Sortable.js插件

使用 npm install sortable.js --save 或者 yarn add sortable.js

2. 引入sortable.js

import Sortable from 'sortablejs'

3. 项目中使用sortable.js

image.png
<template #icon>
    <el-icon class="move-icon cursor-pointer" style="font-size: 20px; cursor: pointer; margin-top: 5px"><Rank /></el-icon>
</template>
image.png
  • 主要代码:
const initSortable = () => {
  const el1 = tableEl1.value.$el.querySelector('.el-table__body tbody')
  Sortable.create(el1, {
    handle: '.move-icon',
    onEnd: ({ newIndex, oldIndex }) => {
      const arr = state.sewList
      const currRow = arr.splice(oldIndex, 1)[0]
      arr.splice(newIndex, 0, currRow)
      state.sewList = []
      nextTick(() => {
        state.sewList = arr
      })
    }
  })
}
image.png
  • 挂载之后调用上图方法:


    image.png

【参考文档】

  1. https://www.bbsmax.com/A/Vx5MKlMYzN/
  2. Sortable简单好用的拖拽排序工具
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容