Popover 气泡

在点击控件或者某个区域后,浮出一个气泡区域来放置更多的操作或者信息。

规则

  • 通过点击背景的任一位置,进行退出。

代码演示

Popover

  1. import { Popover, NavBar, Icon } from 'antd-mobile';
  2. const Item = Popover.Item;
  3. const App = React.createClass({
  4. getInitialState() {
  5. return {
  6. visible: false,
  7. selected: '',
  8. };
  9. },
  10. onSelect(opt) {
  11. this.setState({
  12. visible: false,
  13. selected: opt.props.value,
  14. });
  15. },
  16. handleVisibleChange(visible) {
  17. this.setState({
  18. visible,
  19. });
  20. },
  21. render() {
  22. return (<div>
  23. <NavBar iconName={false} rightContent={
  24. <Popover
  25. visible={this.state.visible}
  26. overlay={[
  27. <Item key="4" value="scan" iconName="scan">扫一扫</Item>,
  28. <Item key="5" value="special" iconName="qrcode" style={{ whiteSpace: 'nowrap' }}>我的二维码</Item>,
  29. <Item key="6" value="button ct" iconName="question-circle-o">
  30. <span style={{ marginRight: 5 }}>帮助</span>
  31. </Item>,
  32. ]}
  33. popupAlign={{
  34. overflow: { adjustY: 0, adjustX: 0 },
  35. offset: [20, 20],
  36. }}
  37. onVisibleChange={this.handleVisibleChange}
  38. onSelect={this.onSelect}
  39. >
  40. <span><Icon type="ellipsis" /></span>
  41. </Popover>
  42. }>NavBar</NavBar>
  43. </div>);
  44. },
  45. });
  46. ReactDOM.render(<App />, mountNode);

Popover气泡 - 图1

API

Popover

成员说明类型默认值
visible(web)当前显隐状态Booleanfalse
onVisibleChange(web)当显隐状态变化时调用Function-
placement(web)enum{'left','right','top','bottom', 'topLeft', 'topRight', 'bottomLeft', 'bottomRight'}String'bottomRight'
popupAlign(web)用于设置偏移量等、会被合并到 placement 的设置中,可选值为 dom-alignalignConfig配置( points 设置用 placement 代替)Object{ overflow: { adjustY: 0, adjustX: 0 } } 禁掉位置自动适应
mask(web)是否显示遮罩背景层Booleanfalse
overlay弹出层内容React.node-
onSelect选中的选项Function-
stylemenu 样式Object-
triggerStyle(ios/android)触发元素外围容器样式Object-
overlayStyle(ios/android)弹出层外围容器样式Object-
contextStyle(ios/android)最外围容器样式Object-
renderOverlayComponent(ios/android)自定义弹出层的外围组件,默认是ScrollView,示例(opts) => <Cus>{opts}</Cus>Function-
name(ios/android)menu名字,用于手动触发开关menuString-
openMenu / closeMenu / toggleMenu(ios/android)用于手动开关 menu,参数为上边 menu 的 name. 使用示例见 demoFunction(name)-

Popover.Item

成员说明类型默认值
children节点内容String/React.node-
disabled是否禁用Booleanfalse
iconName(web)icon名称String-