ant-design/components/dropdown/demo/dropdown-button.md
偏右 8934bbfffa
feat: Menu.Item support icon (#23629)
* feat: Menu.Item support icon

* docs: update menu item usage

* docs: remove span wrap,when use icon

* fix: Collapsed depends on the span

*  fix demo snapshot

* do not wrap children when it is span

* Menu.SubMenu support icon prop

* fix sub menu title

* fix eslint

* update dropdown demo

* fix extra icon attribute on li

Co-authored-by: MengZhaoFly <1424254461@qq.com>
2020-04-26 23:16:15 +08:00

85 lines
2.0 KiB
Markdown

---
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.
```jsx
import { Menu, Dropdown, Button, message, Tooltip } from 'antd';
import { DownOutlined, UserOutlined } from '@ant-design/icons';
function handleButtonClick(e) {
message.info('Click on left button.');
console.log('click left button', e);
}
function handleMenuClick(e) {
message.info('Click on menu item.');
console.log('click', e);
}
const menu = (
<Menu onClick={handleMenuClick}>
<Menu.Item key="1" icon={<UserOutlined />}>
1st menu item
</Menu.Item>
<Menu.Item key="2" icon={<UserOutlined />}>
2nd menu item
</Menu.Item>
<Menu.Item key="3" icon={<UserOutlined />}>
3rd item
</Menu.Item>
</Menu>
);
ReactDOM.render(
<div id="components-dropdown-demo-dropdown-button">
<Dropdown.Button onClick={handleButtonClick} overlay={menu}>
Dropdown
</Dropdown.Button>
<Dropdown.Button overlay={menu} icon={<UserOutlined />}>
Dropdown
</Dropdown.Button>
<Dropdown.Button onClick={handleButtonClick} overlay={menu} disabled>
Dropdown
</Dropdown.Button>
<Dropdown.Button
overlay={menu}
buttonsRender={([leftButton, rightButton]) => [
<Tooltip title="tooltip" key="leftButton">
{leftButton}
</Tooltip>,
rightButton,
]}
>
With Tooltip
</Dropdown.Button>
<Dropdown overlay={menu}>
<Button>
Button <DownOutlined />
</Button>
</Dropdown>
</div>,
mountNode,
);
```
```css
#components-dropdown-demo-dropdown-button .ant-dropdown-button {
margin: 0 8px 8px 0;
}
#components-dropdown-demo-dropdown-button .ant-btn-group-rtl.ant-dropdown-button {
margin: 0 0 8px 8px;
}
```