133 lines
3.2 KiB
Vue
133 lines
3.2 KiB
Vue
<docs>
|
||
---
|
||
order: 5
|
||
title:
|
||
zh-CN: 带下拉框的按钮
|
||
en-US: Button with dropdown menu
|
||
---
|
||
|
||
## zh-CN
|
||
|
||
左边是按钮,右边是额外的相关功能菜单。可设置 `icon` 属性来修改右边的图标。
|
||
|
||
## en-US
|
||
|
||
A button is on the left, and a related functional menu is on the right. You can set the icon property to modify the icon of right.
|
||
|
||
</docs>
|
||
|
||
<template>
|
||
<div class="demo-dropdown-wrap">
|
||
<a-dropdown-button @click="handleButtonClick">
|
||
Dropdown
|
||
<template #overlay>
|
||
<a-menu @click="handleMenuClick">
|
||
<a-menu-item key="1">
|
||
<UserOutlined />
|
||
1st menu item
|
||
</a-menu-item>
|
||
<a-menu-item key="2">
|
||
<UserOutlined />
|
||
2nd menu item
|
||
</a-menu-item>
|
||
<a-menu-item key="3">
|
||
<UserOutlined />
|
||
3rd item
|
||
</a-menu-item>
|
||
</a-menu>
|
||
</template>
|
||
</a-dropdown-button>
|
||
<a-dropdown-button>
|
||
Dropdown
|
||
<template #overlay>
|
||
<a-menu @click="handleMenuClick">
|
||
<a-menu-item key="1">
|
||
<UserOutlined />
|
||
1st menu item
|
||
</a-menu-item>
|
||
<a-menu-item key="2">
|
||
<UserOutlined />
|
||
2nd menu item
|
||
</a-menu-item>
|
||
<a-menu-item key="3">
|
||
<UserOutlined />
|
||
3rd item
|
||
</a-menu-item>
|
||
</a-menu>
|
||
</template>
|
||
<template #icon><UserOutlined /></template>
|
||
</a-dropdown-button>
|
||
<a-dropdown-button disabled @click="handleButtonClick">
|
||
Dropdown
|
||
<template #overlay>
|
||
<a-menu @click="handleMenuClick">
|
||
<a-menu-item key="1">
|
||
<UserOutlined />
|
||
1st menu item
|
||
</a-menu-item>
|
||
<a-menu-item key="2">
|
||
<UserOutlined />
|
||
2nd menu item
|
||
</a-menu-item>
|
||
<a-menu-item key="3">
|
||
<UserOutlined />
|
||
3rd item
|
||
</a-menu-item>
|
||
</a-menu>
|
||
</template>
|
||
</a-dropdown-button>
|
||
<a-dropdown>
|
||
<template #overlay>
|
||
<a-menu @click="handleMenuClick">
|
||
<a-menu-item key="1">
|
||
<UserOutlined />
|
||
1st menu item
|
||
</a-menu-item>
|
||
<a-menu-item key="2">
|
||
<UserOutlined />
|
||
2nd menu item
|
||
</a-menu-item>
|
||
<a-menu-item key="3">
|
||
<UserOutlined />
|
||
3rd item
|
||
</a-menu-item>
|
||
</a-menu>
|
||
</template>
|
||
<a-button>
|
||
Button
|
||
<DownOutlined />
|
||
</a-button>
|
||
</a-dropdown>
|
||
</div>
|
||
</template>
|
||
<script lang="ts">
|
||
import { defineComponent } from 'vue';
|
||
import { UserOutlined, DownOutlined } from '@ant-design/icons-vue';
|
||
import type { MenuProps } from 'ant-design-vue';
|
||
|
||
export default defineComponent({
|
||
components: {
|
||
UserOutlined,
|
||
DownOutlined,
|
||
},
|
||
setup() {
|
||
const handleButtonClick = (e: Event) => {
|
||
console.log('click left button', e);
|
||
};
|
||
const handleMenuClick: MenuProps['onClick'] = e => {
|
||
console.log('click', e);
|
||
};
|
||
return {
|
||
handleButtonClick,
|
||
handleMenuClick,
|
||
};
|
||
},
|
||
});
|
||
</script>
|
||
<style lang="less" scoped>
|
||
.demo-dropdown-wrap :deep(.ant-dropdown-button) {
|
||
margin-right: 8px;
|
||
margin-bottom: 8px;
|
||
}
|
||
</style>
|