1
NjcyNzMzNDQ3 2020-06-29 17:10:23 +08:00
要是想对用户更友好,就在前端搞个上"下移动按钮"代替用户输入数字呗
|
2
Flourite 2020-06-29 17:18:54 +08:00
浏览器有拖曳功能,这样就很好排序了
|
3
caola 2020-06-29 18:27:31 +08:00
如果一个要按用户输入的数字来排序,
|
4
caola 2020-06-29 18:28:53 +08:00
那么你可能用到 ->orderByRaw("FIELD(`xxx 字段`, '1', '3', '2', '4')")
|
5
guiling 2020-06-29 18:33:50 +08:00 via Android
1 置顶,取排序字段最大值+ 1,默认 0
2 上移下移, 交换排序字段,需要字段唯一 3 拖拽,一种是插入,需要修改之间所有排序字段,一种是交换,对前端要求高点,分页不好操作 |
6
faceRollingKB 2020-06-29 18:47:56 +08:00
瞎想的我也没试过:序号给成小数,插入某个位置时取上下值的平均数
|
7
RLWGQ0AI4MAvYy36 2020-06-29 19:58:28 +08:00
拖拽咯,其实涉及分页填数字挺好的
|
8
vvong 2020-06-29 20:07:58 +08:00
前端 sortablejs 这个插件实现拖拽排序
|
9
x86 2020-06-29 20:13:03 +08:00 via iPhone
前端拖拽去做呗
|
10
lijialong1313 2020-06-29 20:26:31 +08:00
这个第一次执行的时候,前端排序好,提交到后台留一个字段。
以后就按照这个字段排序,例如叫做 sortNum |
11
RickyC 2020-06-29 22:32:31 +08:00
如果列表里的条数不太多的话:
1. 数据表: 添加 order_num 字段, 前端视图按照 order_num 显示默认顺序 2. 前端视图: 给每项添加"上移","下移"键, 或者是可以拖拽; 每次更改顺序后, 给所有的 item 在前端重新生成 order_num; 把所有的 order_num 按照 id 更新到数据库, 即保存了新的顺序 |
12
Steps 2020-06-29 22:36:13 +08:00
datatables 也可以帮助你排序
|
14
selfcreditgiving 2020-06-30 22:47:48 +08:00 via Android
这个是不是菜单列表啊? 最后也是选择把所有 order_id 更新一遍。因为 1234 把 4 放到 1,2 中间,基本所有序号都要变了。主要是菜单也不会有很多
|
15
vjack OP @selfcreditgiving 对,类似菜单列表
|