UNPKG

zent

Version:

一套前端设计语言和基于React的实现

112 lines (89 loc) 2.43 kB
## Dropdown 下拉菜单 向下弹出的弹层组件。 我们不提供单独的名为 `Dropdown` 的组件,`Dropdown` 组件的功能是 `Popover` 组件的一个子集,这个文档描述了如何使用 `Popover` 来实现 `Dropdown` 的功能。 ### 使用场景 一般用于下拉菜单。 ### 代码演示 :::demo 点击打开下拉菜单 ```jsx import { Popover, Menu, Button } from 'zent'; const { MenuItem } = Menu; ReactDOM.render( <Popover position={Popover.Position.AutoBottomLeft} cushion={5}> <Popover.Trigger.Click> <Button type="primary">点击打开菜单</Button> </Popover.Trigger.Click> <Popover.Content> <Menu> <MenuItem>食品分类</MenuItem> <MenuItem>服装分类</MenuItem> </Menu> </Popover.Content> </Popover> , mountNode ); ``` ::: :::demo 鼠标移入打开下拉菜单 ```jsx import { Popover, Menu, Button } from 'zent'; const { MenuItem } = Menu; ReactDOM.render( <Popover position={Popover.Position.AutoBottomLeft} cushion={5}> <Popover.Trigger.Hover> <Button type="primary">Hover打开菜单</Button> </Popover.Trigger.Hover> <Popover.Content> <Menu> <MenuItem>食品分类</MenuItem> <MenuItem>服装分类</MenuItem> </Menu> </Popover.Content> </Popover> , mountNode ); ``` ::: :::demo 点击菜单关闭 ```jsx import { Popover, Button, Menu } from 'zent'; const { MenuItem } = Menu; class PopoverDemo extends Component { state = { visible: false }; render() { return ( <Popover visible={this.state.visible} onVisibleChange={v => this.setState({ visible: v })} position={Popover.Position.AutoBottomLeft} cushion={5}> <Popover.Trigger.Click> <Button type="primary">点击打开菜单</Button> </Popover.Trigger.Click> <Popover.Content> <Menu onClick={() => this.setState({ visible: false })}> <MenuItem>点击关闭菜单</MenuItem> <MenuItem>点击关闭菜单</MenuItem> </Menu> </Popover.Content> </Popover> ); } } ReactDOM.render( <PopoverDemo /> , mountNode ); ``` ::: ### API 请参考 [`Popover` 的 API 文档](popover#api)。 ### 关于下拉菜单弹出位置 建议使用 `Popover` 提供的 `AutoXxxYxx` 定位方式,例如 `AutoBottomLeft` 默认定位在左下角,但是如果超出屏幕的话会自动调整位置。 可选的定位方式请阅读 [`Popover` 的定位文档](popover#position%20api)。