el-table手动操作行间上下排序传给后端
时间: 2023-07-26 09:08:20 浏览: 103
如果你使用的是 Element UI 中的 el-table,你可以通过手动拖动行来实现行的上下排序。当行的排序发生变化时,你可以监听 el-table 的 sortable-change 事件,获取到新的行顺序,然后将其传给后端进行保存。
例如,你可以在 el-table 上添加 sortable-change 事件监听器:
```html
<el-table @sortable-change="onSortableChange">
<!-- 表格内容 -->
</el-table>
```
然后,在 Vue 实例中定义 onSortableChange 方法来处理 sortable-change 事件:
```javascript
methods: {
onSortableChange({ newIndex, oldIndex }) {
// 获取新的行顺序
const rows = this.tableData.slice()
const [movedRow] = rows.splice(oldIndex, 1)
rows.splice(newIndex, 0, movedRow)
// 将新的行顺序传给后端
this.saveRows(rows)
},
async saveRows(rows) {
// 发送请求保存新的行顺序
await axios.post('/api/save-rows', { rows })
}
}
```
在 saveRows 方法中,你可以使用 axios 或其他 HTTP 库将新的行顺序发送给后端。后端可以根据需要进行处理,例如将新的行顺序保存到数据库中。
阅读全文