ant-design/components/dropdown/demo/dropdown-button.md
偏右 2dc7b3fc17
feat: 🆕 Add buttonsRender to Dropdown (#20815)
* 🆕 Add buttonsRender to Dropdown

*  update snapshot

* 📝 update document for buttonsRender

*  fix demo lint
2020-01-13 12:15:20 +08:00

84 lines
1.9 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">
<UserOutlined />
1st menu item
</Menu.Item>
<Menu.Item key="2">
<UserOutlined />
2nd menu item
</Menu.Item>
<Menu.Item key="3">
<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;
}
```