收藏
回答

多级菜单怎么写?

像这种有的有三级菜单,有的只有2级菜单,请问如何处理,我之前用的数组循环可以实现,但是会导致 没有三级菜单的项目,点击也会出现三级菜单,怎样才能 有的有三级菜单有的没有三级菜单,是需要写一个判断么?

最后一次编辑于  09-25
回答关注问题邀请回答
收藏

2 个回答

  • 王志鹏
    王志鹏
    09-25

    wx:if判断数组是否有内容  有的话遍历  有没的话不添加元素

    09-25
    赞同
    回复 6
    • PatrickStarจุ๊บ
      PatrickStarจุ๊บ
      09-25
      三扣感谢指点
      09-25
      回复
    • PatrickStarจุ๊บ
      PatrickStarจุ๊บ
      09-26
      wx:if怎么写的,我是把需要展示的内容全都定义id=3 那要怎么判断id=3 则遍历数组内容
      09-26
      回复
    • 王志鹏
      王志鹏
      09-26回复PatrickStarจุ๊บ
      直接wx:if='Array'判断数组就可以啊 或者wx:if='item.id==3''
      09-26
      回复
    • PatrickStarจุ๊บ
      PatrickStarจุ๊บ
      09-26回复王志鹏
      {
              id: 1,
              listName:'消息',
              item: [{
                itemName:'消息使用场景',
                id: 2,
              }, {
                itemName:'发送消息给客户',
                id: 2,
                child:[{
                  id: 3,
                  immName:'发送主号消息',
                  immName:'发送工号消息',
                  immName:'发送群消息',
                  immName:'网页会话工号给客户发送消息',
                    
                }]
              }, {
                itemName:'发送消息给员工',
                id: 2,
              },{
                itemName:'消息记录',
                id: 2,
                child: [{
                  immName:'拉取工号消息记录',
                  immName:'拉取公众号消息记录',
                  immName:'拉取主号消息记录',
                  immName:'拉取webim会话消息记录',
                  id: 3,
                }]
              }, {
                itemName:'消息推送',
                id: 2,
                child: [{
                  immName:'敏感词拦截事件消息推送',
                  id: 3,
                }]
              }, {
                itemName:'敏感消息监管',
                id: 2,
                child: [{
                  immName:'创建敏感词规则',
                  immName:'删除敏感词规则',
                  immName:'批量获取敏感词规则',
                  immName:'更新敏感词规则',
                  immName:'敏感词规则企业开关打开',
                  immName:'敏感词规则企业开关关闭',
                  id: 3,
                }]
              }, {
                itemName:'事件回复',
                id: 2,
              }]
            }

      listName为1级菜单,itemName为二级菜单,immName为3级菜单,像这样的话 wxml,如何渲染啊 ?有的二级菜单有多个三级菜单的,有的二级菜单没有

      09-26
      回复
    • 王志鹏
      王志鹏
      09-26回复PatrickStarจุ๊บ
      https://developers.weixin.qq.com/s/JAz7kFmN7Bbk
      09-26
      回复
    查看更多(1)
  • Charb
    Charb
    09-25

    json 数据整成三级列表setData 渲染不就可以了




    09-25
    赞同
    回复 8
    • PatrickStarจุ๊บ
      PatrickStarจุ๊บ
      09-25
      根据判断id,来选择是否展示菜单吧?
      09-25
      回复
    • PatrickStarจุ๊บ
      PatrickStarจุ๊บ
      09-25
      那2级菜单下有多个二级菜单也都是itemName命名么?
      09-25
      回复
    • Charb
      Charb
      09-25回复PatrickStarจุ๊บ
      我只是写了个数据结构,命名的话当然是分清楚的比较好的,至于判断是否需要显示,三个循环渲染嵌套,如果没有的话就会不会渲染了,比如child中的某个元素中grandson不存在或者为[],循环渲染的时候是不会渲染的
      09-25
      回复
    • PatrickStarจุ๊บ
      PatrickStarจุ๊บ
      09-26回复Charb
      {
              id: 1,
              listName: '消息',
              item: [{
                itemName: '消息使用场景',
                id: 2,
              }, {
                itemName: '发送消息给客户',
                id: 2,
                child:[{
                  id: 3,
                  immName: '发送主号消息',
                  immName: '发送工号消息',
                  immName: '发送群消息',
                  immName: '网页会话工号给客户发送消息',
                   
                }]
              }, {
                itemName: '发送消息给员工',
                id: 2,
              },{
                itemName: '消息记录',
                id: 2,
                child: [{
                  immName: '拉取工号消息记录',
                  immName: '拉取公众号消息记录',
                  immName: '拉取主号消息记录',
                  immName: '拉取webim会话消息记录',
                  id: 3,
                }]
              }, {
                itemName: '消息推送',
                id: 2,
                child: [{
                  immName: '敏感词拦截事件消息推送',
                  id: 3,
                }]
              }, {
                itemName: '敏感消息监管',
                id: 2,
                child: [{
                  immName: '创建敏感词规则',
                  immName: '删除敏感词规则',
                  immName: '批量获取敏感词规则',
                  immName: '更新敏感词规则',
                  immName: '敏感词规则企业开关打开',
                  immName: '敏感词规则企业开关关闭',
                  id: 3,
                }]
              }, {
                itemName: '事件回复',
                id: 2,
              }]
            }

      大神,像这样的话 wxml,如何渲染啊 ?有的二级菜单有多个三级菜单的,有的二级菜单没有

      09-26
      回复
    • PatrickStarจุ๊บ
      PatrickStarจุ๊บ
      09-26

      listName为1级菜单,itemName为二级菜单,immName为3级菜单

      09-26
      回复
    查看更多(3)
问题标签