V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jwdstefani
V2EX  ›  分享发现

目录菜单如何排序才算优雅

  •  1
     
  •   jwdstefani · 2017-08-30 21:30:53 +08:00 · 2762 次点击
    这是一个创建于 2402 天前的主题,其中的信息可能已经有所发展或是发生改变。

    开发企业后台管理系统,左侧 left 的目录菜单是一个树形结构,每一级的菜单顺序要求自定义,以前没有仔细想过,直接设定了一个排序字段 order,值为 1,2,3,4...依次类推,但是今天仔细想想,如果需要改变一个目录的顺序,需要修改两个目录的 order 字段,好麻烦,于是就想着怎么处理会比较优雅,想了半天想了一个办法,把菜单的 order 设为 10,20,30 这样,如果需要调整一个菜单的位置,直接可以把 30 改为 21 这样 20 和 30 就换了位置,但是这样也不够优雅,不知道大家有没有什么好的办法

    4 条回复    2017-08-31 19:52:02 +08:00
    littleylv
        1
    littleylv  
       2017-08-30 21:36:17 +08:00
    确定是把 30 改为 21 而不是 19 (如果更优雅的做法应该是 15 而不是 19 )

    然而更优雅的做法应该是直接拖曳排序,而不是输入数字
    AlwaysBee
        2
    AlwaysBee  
       2017-08-31 07:49:38 +08:00 via iPhone
    之前也写过类似的目录排序,用链表结构实现
    jwdstefani
        3
    jwdstefani  
    OP
       2017-08-31 09:10:29 +08:00
    @AlwaysBee 双向链表的话 表结构是怎么存的呢
    AlwaysBee
        4
    AlwaysBee  
       2017-08-31 19:52:02 +08:00
    @jwdstefani 每个节点加 prev_node, next_node 这样不就可以啦
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1106 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:50 · PVG 02:50 · LAX 11:50 · JFK 14:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.