59 lines
1.2 KiB
Vue
59 lines
1.2 KiB
Vue
|
<docs>
|
|||
|
---
|
|||
|
order: 4
|
|||
|
title:
|
|||
|
zh-CN: 触发事件
|
|||
|
en-US: Click event
|
|||
|
---
|
|||
|
|
|||
|
## zh-CN
|
|||
|
|
|||
|
点击菜单项后会触发事件,用户可以通过相应的菜单项 key 进行不同的操作。
|
|||
|
|
|||
|
## en-US
|
|||
|
|
|||
|
An event will be triggered when you click menu items, in which you can make different operations according to item's key.
|
|||
|
|
|||
|
</docs>
|
|||
|
|
|||
|
<template>
|
|||
|
<a-dropdown>
|
|||
|
<a class="ant-dropdown-link" @click.prevent>
|
|||
|
Hover me, Click menu item
|
|||
|
<DownOutlined />
|
|||
|
</a>
|
|||
|
<template #overlay>
|
|||
|
<a-menu @click="onClick">
|
|||
|
<a-menu-item key="1">1st menu item</a-menu-item>
|
|||
|
<a-menu-item key="2">2nd menu item</a-menu-item>
|
|||
|
<a-menu-item key="3">3rd menu item</a-menu-item>
|
|||
|
</a-menu>
|
|||
|
</template>
|
|||
|
</a-dropdown>
|
|||
|
</template>
|
|||
|
<script lang="ts">
|
|||
|
import { defineComponent } from 'vue';
|
|||
|
import { DownOutlined } from '@ant-design/icons-vue';
|
|||
|
|
|||
|
interface MenuInfo {
|
|||
|
key: string;
|
|||
|
keyPath: string[];
|
|||
|
item: any;
|
|||
|
domEvent: MouseEvent;
|
|||
|
}
|
|||
|
|
|||
|
export default defineComponent({
|
|||
|
components: {
|
|||
|
DownOutlined,
|
|||
|
},
|
|||
|
setup() {
|
|||
|
const onClick = ({ key }: MenuInfo) => {
|
|||
|
console.log(`Click on item ${key}`);
|
|||
|
};
|
|||
|
return {
|
|||
|
onClick,
|
|||
|
};
|
|||
|
},
|
|||
|
});
|
|||
|
</script>
|