vue 左侧菜单根据数据渲染成菜单


<el-menu
      :default-active="onRoutes"
      class="el-menu-vertical-demo leftnavs"
      :collapse="isCollage"
      router
    >
      <h3 :class="isCollage === false ? 'logo':'islogo'">
        <img :src="leftlogoImg" alt="">
      </h3>
      <template v-for="item in navData">
        <template v-if="item.SubItems.length > 0">
          <el-submenu :index="item.ItemId" :key="item.ItemId">
            <template slot="title">
              <!-- <i :class="'iconfont ' + item.icon"></i> -->
              <span slot="title" class="infotsy" >{{ item.ItemName }}</span>
            </template>
            <template v-for="subItem in item.SubItems">
              <el-submenu
                v-if="subItem.SubItems.length > 0"
                :index="subItem.ItemId"
                :key="subItem.ItemId"
              >
                <template slot="title">
                  <!-- <i :class="'iconfont ' + subItem.icon"></i> -->
                  <span slot="title" v-if="subItem.Url=='OilProdPlat'|| subItem.Url=='WaterRatePlat'" @click="wellToggle(subItem)">{{ subItem.ItemName }}</span>
                  <span slot="title" v-else >{{ subItem.ItemName }}</span>
                </template>
                <el-menu-item
                  v-for="(threeItem, i) in subItem.SubItems"
                  :key="i"
                  :index="threeItem.Url+'?ItemId='+threeItem.ItemId+'&parentItemId='+subItem.ItemId+'&parentItemName='+subItem.ItemName+'&ItemName='+threeItem.ItemName"
                  >{{ threeItem.ItemName }}</el-menu-item
                >
              </el-submenu>
              <el-menu-item
                v-else
                :index="subItem.Url+'?ItemId='+subItem.ItemId"
                :key="subItem.ItemId"
>
                <template slot="title">
                  <!-- <i :class="'iconfont ' + subItem.icon"></i> -->
                  <span slot="title">{{ subItem.ItemName }}</span>
                </template>
              </el-menu-item>
            </template>
          </el-submenu>
        </template>
        <template v-else>
          <el-menu-item :index="item.Url" :key="item.ItemId">
            <!-- <i :class="'iconfont ' + item.icon"></i> -->
            <span slot="title">{{ item.ItemName }}</span>
          </el-menu-item>
        </template>
      </template>
    </el-menu>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值