62 lines
1.3 KiB
Vue
62 lines
1.3 KiB
Vue
<docs>
|
||
---
|
||
order: 7
|
||
title:
|
||
zh-CN: 菜单隐藏方式
|
||
en-US: The way of hiding menu.
|
||
---
|
||
|
||
## zh-CN
|
||
|
||
默认是点击关闭菜单,可以关闭此功能。
|
||
|
||
## en-US
|
||
|
||
The default is to close the menu when you click on menu items, this feature can be turned off.
|
||
|
||
</docs>
|
||
|
||
<template>
|
||
<a-dropdown v-model:visible="visible">
|
||
<a class="ant-dropdown-link" @click.prevent>
|
||
Hover me
|
||
<DownOutlined />
|
||
</a>
|
||
<template #overlay>
|
||
<a-menu @click="handleMenuClick">
|
||
<a-menu-item key="1">Clicking me will not close the menu.</a-menu-item>
|
||
<a-menu-item key="2">Clicking me will not close the menu also.</a-menu-item>
|
||
<a-menu-item key="3">Clicking me will close the menu</a-menu-item>
|
||
</a-menu>
|
||
</template>
|
||
</a-dropdown>
|
||
</template>
|
||
<script lang="ts">
|
||
import { defineComponent, ref } 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 visible = ref(false);
|
||
const handleMenuClick = (e: MenuInfo) => {
|
||
if (e.key === '3') {
|
||
visible.value = false;
|
||
}
|
||
};
|
||
return {
|
||
visible,
|
||
handleMenuClick,
|
||
};
|
||
},
|
||
});
|
||
</script>
|