1、Sortable.js中文网 (Demo、配置参数说明)
http://www.sortablejs.com/
2、元素拖拽排序 (Grid 形式示例)
https://www.jianshu.com/p/a82bca95c140
3 、angular table拖拽插件sortablejs
https://blog.csdn.net/weixin_38883338/article/details/103378958
4、Angular 引入第三方js库
https://blog.csdn.net/weixin_38883338/article/details/103797669
5、Sortable.js笔记
https://www.cnblogs.com/OrochiZ-/p/15760502.html
6、使用sortablejs复原上次移动
https://www.jianshu.com/p/64e1adc224e3
// 在Sortable.create的onEnd回调函数中添加代码
onEnd(evt) {
const oldIndex = evt.oldIndex;
const newIndex = evt.newIndex;
// 拖拽之后改变数据(非必要)
const list = tableData;
const oldItem = list.splice(oldIndex, 1)[0];
list.splice(newIndex, 0 , oldItem);
// 拖拽之后改变数据结束
if (...需要复原的条件) {
// 复原拖拽之前的 数据(非必要)
const item = list.splice(newIndex, 1)[0];
list.splice(oldIndex, 0, item);
// 复原拖拽之前的 dom
const tagName = evt.item.tagName;
const items = evt.from.getElementsByTagName(tagName);
if (evt.oldIndex > evt.newIndex) {
evt.from.insertBefore(evt.item, items[evt.oldIndex+1]);
} else {
evt.from.insertBefore(evt.item, items[evt.oldIndex]);
}
}
}
}