0度** 2022-10-27 17:00 采纳率: 80%
浏览 36
已结题

侧边栏菜单二级往后菜单重复显示

侧边栏菜单渲染后出现二级菜单三级菜单重复显示问题

img

img

  
          <template
            v-for="(item, index) in menuData[active]
              ? menuData[active].childMenu || []
              : []"
          >
            
            <template v-if="item.childMenu">
              <el-submenu :index="item.sysMenuCode" :key="item.sysMenuVueUrl">
                <template slot="title">
                  {{ item.sysMenuName }}
                </template>
                
                <template v-for="subItem in item.childMenu || []">
                  
                  <template v-if="subItem.childMenu">
                    <el-submenu
                      :index="subItem.sysMenuCode"
                      :key="subItem.sysMenuVueUrl"
                    >
                      <template slot="title">
                        {{ subItem.sysMenuName }}
                      </template>
                      
                      <template v-for="subItem2 in subItem.childMenu || []">
                        
                        <template v-if="subItem2.childMenu">
                          <el-submenu
                            :index="subItem2.sysMenuCode"
                            :key="subItem2.sysMenuVueUrl"
                          >
                            <template slot="title">
                              {{ subItem2.sysMenuName }}
                            </template>
                            
                            <template
                              v-for="subItem3 in subItem2.childMenu || []"
                            >
                              
                              <template v-if="subItem3.childMenu">
                                <el-submenu
                                  :index="subItem3.sysMenuCode"
                                  :key="subItem3.sysMenuVueUrl"
                                >
                                  <template slot="title">
                                    {{ subItem3.sysMenuName }}
                                  </template>
                                  <el-menu-item
                                    v-for="(
                                      fiveItem, i
                                    ) in subItem3.sysMenuName"
                                    :key="i"
                                    :index="fiveItem.sysMenuVueUrl"
                                    >{{ fiveItem.sysMenuName }}</el-menu-item
                                  >
                                </el-submenu>
                              </template>
                              
                              <el-menu-item
                                :index="subItem3.sysMenuVueUrl"
                                :key="subItem3.sysMenuVueUrl"
                                >{{ subItem3.sysMenuName }}</el-menu-item
                              >
                            </template>
                          </el-submenu>
                        </template>
                        
                        <el-menu-item
                          :index="subItem2.sysMenuVueUrl"
                          :key="subItem2.sysMenuVueUrl"
                          >{{ subItem2.sysMenuName }}</el-menu-item
                        >
                      </template>
                    </el-submenu>
                  </template>
                  
                  <el-menu-item
                    :index="subItem.sysMenuVueUrl"
                    :key="subItem.sysMenuVueUrl"
                    >{{ subItem.sysMenuName }}</el-menu-item
                  >
                </template>
              </el-submenu>
            </template>
            
            <template v-else>
              <el-menu-item
                :index="item.sysMenuVueUrl"
                :key="item.sysMenuVueUrl"
              >
                {{ item.sysMenuName }}
              </el-menu-item>
            </template>
          </template>
        </el-menu>
      </el-aside>
  • 写回答

3条回答 默认 最新

  • 管那么多 2022-10-27 17:55
    关注
    <template v-if="subItem3.childMenu">  这个条件通过然后渲染了带下拉箭头的,然后你后面又来个<el-menu-item></el-menu-item>,
    重复显示了,,,有 if 却没有设置else    后面的应该这么写   
    <template v-if="!subItem3.childMenu">  <el-menu-item></el-menu-item></template>
    ```javascript
    
    
    

    ```

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月4日
  • 已采纳回答 10月27日
  • 创建了问题 10月27日

悬赏问题

  • ¥15 vue使用gojs,需求在link中的虚线上添加方向箭头
  • ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
  • ¥15 SPSS分类模型实训题步骤
  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红