132 lines
3.1 KiB
Vue
132 lines
3.1 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';
|
|||
|
|
|||
|
export default defineComponent({
|
|||
|
components: {
|
|||
|
UserOutlined,
|
|||
|
DownOutlined,
|
|||
|
},
|
|||
|
setup() {
|
|||
|
const handleButtonClick = (e: Event) => {
|
|||
|
console.log('click left button', e);
|
|||
|
};
|
|||
|
const handleMenuClick = (e: Event) => {
|
|||
|
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>
|