背景
由于在项目中碰到需要实现 行 拖拽排序,使用的是element ui库,查阅资料后发现,现在的element ui库中的el-table还不支持行拖拽排序。于是查阅的很多资料,发现是可以使用 sortablejs 实现拖拽的,但是它的拖拽是基于dom的,没有数据改变,而且项目中需要获取当前拖拽行的数据传给后台。。这就有点伤脑筋了,sortablejs 的 drag事件不能获取当前拖拽行的数据,,网友有推荐vuedraggable 的,但是又不想破坏el-table,所有就另寻途径了。。。最终,找到一种了一种解决办法,推荐给大家,当然还有不足之处。。如果你有更好的解决办法,可以交流交流...
sortablejs 实现拖拽
废话不多,直接代码:
mounted() { let el = document.querySelectorAll('.el-table__body-wrapper > table > tbody')[0]; const sortable = Sortable.create(el, { onEnd: evt => { // 监听拖动结束事件 } }) }
具体参数大家可以查阅 sortablejs; 实现拖拽后我们就要获取当前