hejianhao
2025-04-01 7b80254491eaad6005ef4bcaa4d022721f0c0576
MenuItem.vue安全地访问 meta 属性
1个文件已修改
10 ■■■■ 已修改文件
src/layouts/components/ElMenu/MenuItem.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layouts/components/ElMenu/MenuItem.vue
@@ -1,20 +1,20 @@
<template>
  <!-- 判断当前页面是否显示,如果hide为true,则不渲染该菜单 -->
  <!-- <div v-if="!item.meta.hide && menus.includes(item.meta.privilege)"> -->
  <div v-if="!item.meta.hide">
  <div v-if="!(item.meta && item.meta.hide)">
    <!-- 根菜单 -->
    <MenuLink :to="resolvePath()" v-if="!item.children">
      <el-menu-item :index="resolvePath()">
        <i :class="item.meta.icon || ''"></i>
        <span slot="title">{{ item.meta.title }}</span>
        <i :class="(item.meta && item.meta.icon) || ''"></i>
        <span slot="title">{{ (item.meta && item.meta.title) || '' }}</span>
      </el-menu-item>
    </MenuLink>
    <!-- 可展开菜单 -->
    <el-submenu :index="resolvePath()" v-else>
      <template slot="title">
        <i :class="item.meta.icon"></i>
        <span slot="title">{{ item.meta.title }}</span>
        <i :class="(item.meta && item.meta.icon) || ''"></i>
        <span slot="title">{{ (item.meta && item.meta.title) || '' }}</span>
      </template>
      <!-- 这里递归去展示多级菜单 -->
      <menu-item v-for="(route, index) in item.children" :key="index" :item="route"