递归菜单问题

来源:5-5 菜单交互及递归实现(下)

FrontEndBird

2022-03-07

如果我按老师视频是这样写的就会报错

<template>
  <template v-for="menu in userMenu">
    <el-submenu
      v-if="
        menu.children &&
        menu.children.length > 0 &&
        menu.children[0].menuType == 1
      "
      :key="menu._id"
      :index="menu.path"
    >
      <template #title>
        <i :class="menu.icon"></i>
        <span>{{ menu.menuName }}</span>
      </template>
      <tree-menu :userMenu="menu.children" />
    </el-submenu>
    <el-menu-item
      v-else-if="menu.menuType == 1"
      :index="menu.path"
      :key="menu._id"
      >{{ menu.menuName }}</el-menu-item
    >
  </template>
</template>

后来我写成这样:

<template>
    <template v-for="menu in userMenu" :key="menu._id">
      <el-sub-menu
        v-if="
          menu.children &&
          menu.children.length > 0 &&
          menu.children[0].menuType == 1
        "
        :index="menu.path"
      >
        <template #title>
          <el-icon><component :is="menu.icon" /></el-icon>
          <span>{{ menu.menuName }}</span>
        </template>
        <tree-menu :userMenu="menu.children" />
      </el-sub-menu>
      <el-menu-item
        v-else-if="menu.menuType == 1"
        :index="menu.path"
        >{{ menu.menuName }}</el-menu-item
      >
    </template>
</template>

没效果,而且控制台报了一个这样的错:
图片描述
大概意思是:无关的非道具属性(useMenu)已传递给组件,但无法自动继承,因为组件呈现片段或文本根节点。

写回答

1回答

河畔一角

2022-03-11

把图标的代码先去掉看下

0
0

Vue3+ElementPlus+Koa2 全栈开发后台系统

从前端晋级到全栈,让你的未来发展有更多可能

1069 学习 · 580 问题

查看课程