vue+element导航菜单子菜单只有一个时不显示子菜单

   <el-menu
        class="el-menu-vertical-demo"
        background-color="#001529"
        text-color="#fff"
        active-text-color="skyblue"
        :unique-opened="true"
        :collapse="isCollapse"
        :collapse-transition="false"
        router
        :default-active="activePath"
      >
        <template v-for="item in menuList">
          <!-- 一级菜单,存在在子菜单且子菜单大于1,或者为关闭状态 -->
          <!--isCollapse为导航栏的收起展开状态,为了不影响收起状态效果所以需要加个||判断-->
          <template
            v-if="item.children && item.children.length > 1 || isCollapse"
          >
            <el-submenu :key="item.id" :index="item.path + ''">
              <template slot="title">
                <i :class="item.icon"></i>
                <span>{{ item.label }}</span>
              </template>
              <el-menu-item
                :index="subItem.path + ''"
                v-for="subItem in item.children"
                :key="subItem.id"
                @click="saveNavState(subItem)"
              >
                <i :class="subItem.icon"></i>{{ subItem.label }}
              </el-menu-item>
            </el-submenu>
          </template>
          <!-- 子菜单只有一项时执行 -->
          <template v-else>
            <el-menu-item
              :index="subItem.path + ''"
              v-for="subItem in item.children"
              :key="subItem.id"
              @click="saveNavState(subItem)"
            >
              <i :class="item.icon"></i>{{ subItem.label }}
            </el-menu-item>
          </template>
        </template>
      </el-menu>

一般导航菜单都是后台获取的一个数组,所以需要用到循环,当子菜单时有多个菜单时正常循环,当只有一个菜单时直接循环二级菜单

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VueElement UI是非常常用的前端开发工具,可以帮助我们快速构建漂亮且功能强大的导航页。 首先,你需要确保已经安装了VueElement UI。可以通过npm或yarn来安装它们: ``` npm install vue npm install element-ui ``` 或者 ``` yarn add vue yarn add element-ui ``` 接下来,你可以创建一个Vue组件来实现导航页。假设你的导航页需要有多个菜单项,你可以使用Element UI的Menu组件来实现。 在你的Vue组件中,首先导入所需的Element UI组件: ```vue <template> <div> <el-menu :default-active="activeIndex" mode="horizontal"> <el-menu-item index="1">菜单项1</el-menu-item> <el-menu-item index="2">菜单项2</el-menu-item> <el-menu-item index="3">菜单项3</el-menu-item> </el-menu> </div> </template> <script> import { Menu, MenuItem } from 'element-ui'; export default { components: { 'el-menu': Menu, 'el-menu-item': MenuItem, }, data() { return { activeIndex: '1', // 默认选中的菜单项 }; }, }; </script> <style> /* 样式可以根据需要自行调整 */ </style> ``` 以上代码中,我们使用了`el-menu`和`el-menu-item`来创建菜单菜单项。`default-active`属性用于设置默认选中的菜单项,你可以根据需要进行调整。 最后,在你的主Vue实例中引入该组件,并将其挂载到一个HTML元素上: ```vue <template> <div id="app"> <my-navigation></my-navigation> </div> </template> <script> import MyNavigation from './MyNavigation.vue'; export default { components: { 'my-navigation': MyNavigation, }, }; </script> ``` 这样,你就可以在你的Vue应用中使用这个导航页组件了。记得在入口文件中引入Element UI样式文件: ```javascript import 'element-ui/lib/theme-chalk/index.css'; ``` 希望对你有所帮助!如有更多问题,请随提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值