ant 菜单组件报错Cannot read property ‘isRootMenu‘ of undefined

 更新时间:2023年08月21日 10:15:08   作者:柯柯的呵呵哒  
这篇文章主要介绍了ant 菜单组件报错Cannot read property ‘isRootMenu‘ of undefined解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

ant design of vue插件中的菜单使用

我们在使用 ant design of vue插件中的菜单时,使用组件会报错。原因是ant 推荐使用函数组件,如果,使用传统的组件,就会报错。

Before v2.0, 因组件内部会动态更改a-sub-menu的属性,如果拆分成单文件,无法将属性挂载到a-sub-menu上,你需要自行声明属性并挂载。为了方便,避免属性的声明,我们推荐使用函数式组件。

父组件代码

<a-menu
     :default-selected-keys="['first']"
     :default-open-keys="['first']"
      mode="inline"
      theme="light"
      style="height: calc(100vh - 96px)"
      :inline-collapsed="collapsed"
 >
          <a-menu-item key="first">
                <router-link to="/">
                        <a-icon type="home" />
                        <span>首页</span>
                    </router-link>
          </a-menu-item>
          <template v-for="(item, index) in data">
                  <a-menu-item :key="index" v-if="!item.children">
                        <router-link :to="item.path">
                            <a-icon :type="item.icon" />
                            <span>{{item.name}}</span>
                        </router-link>
                   </a-menu-item>
                   <sub-menu v-else :key="index" :data="item" :index="index"/>
         </template>
</a-menu>

函数组件代码

<template functional>
    <a-sub-menu :key="props.index">
        <span slot="title">
            <a-icon :type="props.data.icon" />
            <span>{{props.data.name}}</span>
        </span>
        <template v-for="(item, index) in props.data.children">
            <a-menu-item :key="props.index + '-' + index" v-if="!item.children">
                <router-link :to="item.path">
                    <a-icon :type="item.icon" />
                    <span>{{item.name}}</span>
                </router-link>
            </a-menu-item>
            <!-- 循环函数组件 -->
            <sub-menu v-else :key="props.index + '-' + index" :data="item" :index="props.index + '-' + index"/>
        </template>
    </a-sub-menu>
</template>

 说明:key的值是菜单选中时,所需要识别的唯一标识,所以,不能够重复

以上就是ant 菜单组件报错Cannot read property ‘isRootMenu‘ of undefined的详细内容,更多关于ant 菜单组件报错的资料请关注脚本之家其它相关文章!

相关文章

  • 详解Vue如何手写一个虚拟列表

    详解Vue如何手写一个虚拟列表

    虚拟列表是一种优化长列表渲染的技术,它可以在保持流畅性的同时,渲染大量的数据,本文主要介绍了如何使用vue手写一个虚拟列表,感兴趣的可以了解下
    2024-04-04
  • Vue绑定class和绑定内联样式的实现方法

    Vue绑定class和绑定内联样式的实现方法

    本文主要介绍了Vue绑定class和绑定内联样式的实现方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • VUE学习之Element-ui文件上传实例详解

    VUE学习之Element-ui文件上传实例详解

    今天进行了element 文件上传组件的运用,写一下心得,下面这篇文章主要给大家介绍了关于VUE学习之Element-ui文件上传的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • vue2 对全局自定义指令一次性进行注册的方法

    vue2 对全局自定义指令一次性进行注册的方法

    这篇文章主要介绍了vue2 对全局自定义指令一次性进行注册,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 利用VUE框架,实现列表分页功能示例代码

    利用VUE框架,实现列表分页功能示例代码

    本篇文章主要介绍了利用VUE框架,实现列表分页功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-01-01
  • Vue路由跳转的5种方式及扩展

    Vue路由跳转的5种方式及扩展

    这篇文章主要给大家介绍了关于Vue路由跳转的5种方式及扩展,在Vue中路由是一种用于导航和管理页面之间跳转的机制,Vue Router是Vue官方提供的路由管理器,需要的朋友可以参考下
    2023-11-11
  • vue.js如何删除数组中指定索引的元素

    vue.js如何删除数组中指定索引的元素

    这篇文章主要介绍了vue.js如何删除数组中指定索引的元素问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Vuex之Action的使用方法详解

    Vuex之Action的使用方法详解

    这篇文章主要介绍了Vuex之Action的使用方法详解,Action 类似于 mutation ,不同在于Action 提交的是 mutation,而不是直接变更状态,
    Action 可以包含任意异步操作,需要的朋友可以参考下
    2023-11-11
  • 详解Vue之事件处理

    详解Vue之事件处理

    这篇文章主要介绍了Vue之事件处理的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下。
    2020-07-07
  • 一文带你简单理解Vue的data为何只能是函数

    一文带你简单理解Vue的data为何只能是函数

    如果data是一个函数的话,这样每复用一次组件,就会返回一份新的data,下面这篇文章主要给大家介绍了关于简单理解Vue的data为啥只能是函数的相关资料,需要的朋友可以参考下
    2022-10-10

最新评论