开发指南101-拖动排序

平台上实现拖动排序的标准方案如下:

依托组件:

SortableJS

界面元素:

<el-table :data="sortlist" ref="sortTable">

<el-table-column

label="名称"

header-align="center"

align="center"

prop="itemTitleEx"

width="200"

></el-table-column>

--其他列

<el-table-column align="center" label="排序" width="80">

<template slot-scope="scope">

<svg-icon class="drag-handler" icon-class="drag" />

</template>

</el-table-column>

</el-table>

用el-table展示数据,最后一列显示拖动图标。其实拖动图标只是起个提示作用。点击行内即可拖动。

核心处理:

this.oldsortData = this.sortlist.map(v => v.itemID);

this.newsortData = this.oldsortData.slice();

this.sortable = Sortable.create(el, {

animation: 300,

ghostClass: "sortable-ghost",

setData: function(dataTransfer) {

dataTransfer.setData("Text", "");

},

onEnd: evt => {

const tempIndex = this.newsortData.splice(evt.oldIndex, 1)0;

this.newsortData.splice(evt.newIndex, 0, tempIndex);

this.newsortDataString = this.newsortData.join();

}

});

newsortDataString为拖动后id的序列串,将这个串返回后台接口调整顺序即可

后台接口一般处理方案,就是生成一段批处理sql,就是按newsortDataString的id顺序进行赋值操作,例如第一个赋值001,依次类推。

相关推荐
无风听海29 分钟前
Bearer Token 权威指南:从原理到生产级安全实践
前端·javascript·安全
riuphan39 分钟前
JavaScript 类型判断完全指南
前端·javascript
Hilaku1 小时前
前端工程师最终会变成 AI工程师?
前端·javascript·程序员
flyinmind1 小时前
Java环境与Android环境中使用QuickJS
java·开发语言·javascript·quickjs
如烟花的信页1 小时前
数美滑块逆向分析
javascript·爬虫·python·js逆向
子琦啊1 小时前
华为 OD 2026年5月笔试题解析
javascript·华为
无风听海1 小时前
Promise 与 Async Await 深度解析
前端·javascript
lpd_lt2 小时前
服务端类vue等页面AI测试方向
前端·vue.js·人工智能
橘子味的冰淇淋~2 小时前
优化前端性能之从“全局引入”改为“按需引入”
前端·javascript·vue.js
Vennn2 小时前
Android自动化:使用 Web 方式实现某音未读消息检查与采集
前端·javascript·vue.js