直接获取更新后的列表数据,将所有的ID 按照顺序 发送给后端,然后后端进行全部更新(优点,足够简单无脑的,缺点就是,如果数据量比较多,这样更新会性能开销比较大)
二、取中值法,存储排序字段,不再是紧凑连续的例如表的第一条数据sort是1000,第二条则是2000 ,第三条3000,以此类推,每个数据排序字段间隔1000的差值
然后将数据的排序字段通过对拖拽后,获取到最新的位置前后的数据ID,
例如,将第三条数据拖拽到1和2直接,则将1和2 发送给后端,后端查询表后,得知他们的排序 分别是 1000,2000
此时 只需要将3的排序值改成(1000+2000)/2 = 1500 即可完成更新
这种更新的方式优点显而易见,只会针对有变动的数据进行更新,缺点也很明显,如果多次更新的话,数值之间没有足够的空间进行二分,就会导致更新失败
这时,我们就需要针对全表进行一次大的排序重置,将数据间的间距重新恢复到初始状态才行,所以该方案适合更新频率不高的场景// 提交数据进行排序更新
layui.$.post(updateUrl,data,function(res){
if(res.code){
layui.layer.msg