vue3 el-table 实现拖拽列排序 #前端 #vue #elementplus - 李钟意讲前端于20230607发布在抖音,已经收获了8.7万个喜欢,来抖音,记录美好生活!
通过上述步骤,你可以在Element UI的el-table组件中实现列的拖拽排序功能。需要注意的是,由于直接操作DOM可能会带来一些潜在的问题(如Element UI内部更新DOM导致的拖拽失效等),因此在实际项目中可能需要进一步处理这些问题。此外,为了保持代码的健壮性和可维护性,建议将拖拽排序的相关逻辑封装成一个独立的Vue插件或组件。
渲染后固定的列显示第一行,滚动条和非固定列显示在拖动结束那里 拖动后可以加滚动,随意滚动一下即可 //添加fixed列后 fixed列显示在第一行 让列表滚动一下scrollTable(pixels) { const tableBodyWrapper=this.$refs.table.$el.querySelector('.el-table__body-wrapper');if(tableBodyWrapper) { tableBodyWrappe...
this.common.rowDrop('.tableClass .el-table__body-wrapper tbody',{},(newIndex, oldIndex)=>{ letcurrRow = _this.tableData.splice(oldIndex, 1)[0] _this.tableData.splice(newIndex, 0, currRow) _this.updateSortSno(_this.tableData) //调取更新排序接口 }) }, updateSortSno(newlist){ //...
elementtable列拖拽排序 el-table拖动排序 SortableJS是功能强大的JavaScript 拖拽库 其特点为: 兼容性好-支持触屏设备和大部分浏览器 简单-简单的API,方便使用 原生-基于原生HTML5中的拖放API CSS框架兼容性-支持所有的css框架,像Bootstrap 零依赖-不依赖Jquery等其他框架...
略去数据,与前段代码一直],};},mounted(){// 需要支持拖动效果的列表容器,在这里我们设置为el-table组件的tbody,// 注意:最前面的一段为前面el-table的class: draggable-table,主要为了防止如果页面有多个table,多个table同时实现拖拽效果// 当然,如果多个table都需要拖拽效果,选择器中最前面的.draggable-table...
constquery=".el-table__header-wrapper thead tr"consteldocuemnt.querySelector(query)// this.$el.querySelector(query) 那么表头的那一行的所有th就变为拖拽目标了,之后根据index的顺序变化,可以反推到列的切换上 核心代码 constsortable=newSortable(el,{onEnd(evt){let{newIndex,oldIndex,item}=evt;// ...
需求:树形结构的table需要实现同级拖拽排序 1.vue引用sortablejs 参考相关配置 importSortablefrom'sortablejs' 2.定义变量 data(){return{table:[],// 表格数据activeRows:[]// 转换为列表的数据扁平化}}, 3.初始化created中调用方法,方法如下 rowDrop(){consttbody=document.querySelector('.table .el-table...
案例二 el-table表格拖拽 这里有一个细节,就是表头数据拖动的时候,可能导致渲染数据不对的问题,有的博主是搞两个表头数组数据的,其实也是一种解决问题的方案。不过个人愚见略有麻烦,其实一个表头数组数据即可。只要及时清空,重新赋值即可 效果图 代码附上 这里使用的是vue,所以要下载哦 cnpm install sortablejs --...
vue-element-admin开发过程中需要对el-table行进行排序(即每一行可以上下移动),然后将排序后的数据传给后台更新数据。该表格无分页。 问题分析 方法一:可以采用在每条数据中加两个上下移动的按钮,每次移动一行。该方法实现简单,不过要连续移动的时候需要多次调用接口,交互效果不太好。