Sortable.js 拖拽后顺序变了但数据没更新怎么办?
我用 Sortable.js 做了一个列表拖拽排序,视觉上元素位置确实变了,但我发现背后的数组数据根本没跟着变。我试过在 onEnd 回调里手动 splice 更新数组,但索引总是对不上,拖两下就乱了。
这是我的初始化代码:
new Sortable(document.getElementById('list'), {
onEnd: function (evt) {
const oldIndex = evt.oldIndex;
const newIndex = evt.newIndex;
// 我在这里操作 this.myArray,但结果不对
}
});
是不是我取索引的方式有问题?或者应该用别的方法同步数据?
正确做法是判断一下索引关系: