背景目前elmenetUI表格不支持拖拽,但是表格行拖拽需求往往比较常见。通过引入sortableJS,可以轻松让elementUI组件中的表格支持拖拽效果。网上大部分解决方案如下:SortableJS+原生tableSortableJS+原生table+elementUI样式使用vueDraggable组件:https://github.com/SortableJS...直接操作elementUI的table组件很少,记录一下。实施方案引入SortableJSnpminstallsortableJS--save创建表格组件。需要注意的是,必须设置row-key属性,否则拖拽显示时会变成乱序的模板部分数据部分数据(){return{tableData:[{id:"1",date:"2016-05-02",name:"王小虎",address:"上海市普陀区金沙江路1518弄"},{id:"2",date:"2016-05-04",name:"王小虎",address:"上海市普陀区金沙江路1517弄"},{id:"3",date:"2016-05-01",name:"王小虎",address:"上海市普陀区金沙江路1519弄"},{id:"4",date:"2016-05-03",name:"王小虎",A地址:“上海市普陀区金沙江路1516弄”}]};},配置拖拽操作从“sortablejs”引入sorableimportSortable;初始化sorable,并配置每个拖动事件的onEnd部分,通过索引拼接截取行,添加行,更新datamounted(){this.rowDrag();},方法:{rowDrag(){consttbody=document.querySelector(".el-table__body-wrappertbody");常量那个=这个;Sortable.create(tbody,{onEnd({newIndex,oldIndex}){constcurrentRow=that.tableData.splice(oldIndex,1)[0];that.tableData.splice(newIndex,0,currentRow);}});}}注意事项如果不设置row-key,拖动后顺序会乱。建议设置两个tableData,tableData和tableDataCopy。表格用于显示,每次拖动后修改tableDataCopy。这样不影响拖动的显示效果,还可以实现拖动的数据处理。在拖动一些特殊的表格时,如果修改了同一个tableDate,可能会出现一些异常。如果一个页面上有多个表格,拖动时需要注意。不建议有多张表。sortableJS更多配置见官网:http://www.sortablejs.com/opt...完整代码: