el-table拖动改变顺序
时间: 2023-10-14 17:24:32 浏览: 166
【JavaScript源代码】vue 使用 sortable 实现 el-table 拖拽排序功能.docx
el-table支持拖动改变顺序,可以通过设置`sortable`属性为true来开启该功能。同时,需要在表格的`column`中设置`sortable`属性为false,避免拖动排序与列排序冲突。具体实现步骤如下:
1. 在el-table中设置`sortable`属性为true:
```html
<el-table :data="tableData" :sortable="true">
```
2. 在el-table-column中设置`sortable`属性为false:
```html
<el-table-column prop="name" label="姓名" :sortable="false"></el-table-column>
```
3. 在el-table-column中添加scoped-slot来显示拖动排序的图标:
```html
<el-table-column label="排序">
<template slot-scope="scope">
<i class="el-icon-s-grid" style="cursor: move;"></i>
</template>
</el-table-column>
```
4. 在mounted钩子函数中,使用sortablejs库实现拖动排序的功能:
```javascript
import Sortable from 'sortablejs';
mounted() {
const table = document.querySelector('.el-table__body-wrapper tbody');
Sortable.create(table, {
handle: '.el-icon-s-grid', // 拖动排序的图标
animation: 150,
onEnd: evt => {
// 获取拖动前的索引和拖动后的索引,可以根据需要进行后续的操作
console.log('dragged from', evt.oldIndex, 'to', evt.newIndex);
}
});
}
```
以上就是使用el-table实现拖动排序的基本步骤,具体实现方式可以根据实际需求进行调整。
阅读全文