拖动排序后端设计

每个元素,都有一个字段 index,表示元素的排序信息。

规定元素从 0 开始递增。

基本操作如下:

  • 增加数据: 新增元素时,序号为当前元素数据 总量值
  • 删除元素:删除元素时,将大于该元素的序号 都减 1
  • 修改元素排序:当元素从 x 移动到 y 时:
    • x < y 时,则将 (x, y) 范围内的元素 都减 1
    • x > y 时,则将 (y, x) 范围内的元素 都加 1
  • 查询元素:展示列表时,按照 index 字段进行排序即可
    • 若需要查第 n 位元素时,元素位置为 index = n - 1

在接口设计方面,前端传给后端是一个偏移值 offsetoffset = y - x,当元素向排序大的方向移动时,offset 的为正值;若往排序小的方向移动时,offset 为负值。

posted @ 2022-05-16 13:39  Rustln  阅读(891)  评论(0)    收藏  举报