首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击antd菜单项中未触发的事件

单击antd菜单项中未触发的事件
EN

Stack Overflow用户
提问于 2021-01-04 17:02:32
回答 1查看 1.2K关注 0票数 0

我正在使用vue3和antdv创建一个动态菜单

MenuItem.vue

代码语言:javascript
复制
<template>
  <slot name="menu-item" :items="[data]" />
</template>

<script lang="ts">
import { defineComponent } from 'vue'
export default defineComponent({
  props: ['data']
})
</script>

MenuGroup.vue

代码语言:javascript
复制
<template>
  <a-sub-menu>
    <template #title>
      <component v-if="data.icon" :is="data.icon"></component>
      <span>{{ data.label }}</span>
    </template>
    <slot name="menu-item" :items="data.items" />
  </a-sub-menu>
</template>

<script lang="ts">
import { defineComponent } from 'vue'
export default defineComponent({
  props: ['data']
})
</script>

Layout.vue

代码语言:javascript
复制
     <a-menu theme="dark" mode="inline" v-model:selectedKeys="selectedKeys">  
        <component v-for="block in menu" :key="block.key" :is="block.component" :data="block">
          <template v-slot:menu-item="{ items }">
            <a-menu-item v-for="item in items" :key="item.key" @click="handleMenuClick">
              <component v-if="item.icon" :is="item.icon"></component>
              <span>{{ item.label }}</span>
            </a-menu-item>
          </template>
        </component>
      </a-menu>

编辑:在菜单中放置一个普通菜单项将触发单击事件。

代码语言:javascript
复制
     <a-menu-item @click="handleMenuClick">
          <span>title</span>
        </a-menu-item>

我的项目数组:

代码语言:javascript
复制
     [
  {
    key: 'keyA',
    label: 'labelA',
    icon: HomeOutlined,
    component: MenuItem,
    route: '/someroute'
  },
  {
    key: 'keyB',
    label: 'labelB',
    icon: HomeOutlined,
    component: MenuGroup,
    items: [
      {
        key: 'keyc',
        label: 'labelc',
        icon: ToolOutlined,
        route: '/route-sample'
      }
    ]
  }

代码看起来工作正常,但是当我单击子菜单keyc函数时,通过单击keya nothing happen....what,我做错了什么?

沙盒

EN

回答 1

Stack Overflow用户

发布于 2021-01-04 21:25:40

看起来,ant设计实现了自己的单击处理程序,当安装程序可用时,它将覆盖任何设置。

您最好在<a-menu>onTitleClick中对<a-sub-menu>项使用<a-sub-menu>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65566675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档