ant-design/components/dropdown/demo/overlay-visible.md
2022-04-22 13:35:27 +08:00

1.4 KiB

order title
7
zh-CN en-US
菜单隐藏方式 The way of hiding menu.

zh-CN

默认是点击关闭菜单,可以关闭此功能。

en-US

The default is to close the menu when you click on menu items, this feature can be turned off.

import { Menu, Dropdown, Space } from 'antd';
import { DownOutlined } from '@ant-design/icons';

class OverlayVisible extends React.Component {
  state = {
    visible: false,
  };

  handleMenuClick = e => {
    if (e.key === '3') {
      this.setState({ visible: false });
    }
  };

  handleVisibleChange = flag => {
    this.setState({ visible: flag });
  };

  render() {
    const menu = (
      <Menu
        onClick={this.handleMenuClick}
        items={[
          {
            label: 'Clicking me will not close the menu.',
            key: '1',
          },
          {
            label: 'Clicking me will not close the menu also.',
            key: '2',
          },
          {
            label: 'Clicking me will close the menu.',
            key: '3',
          },
        ]}
      />
    );
    return (
      <Dropdown
        overlay={menu}
        onVisibleChange={this.handleVisibleChange}
        visible={this.state.visible}
      >
        <a onClick={e => e.preventDefault()}>
          <Space>
            Hover me
            <DownOutlined />
          </Space>
        </a>
      </Dropdown>
    );
  }
}

export default () => <OverlayVisible />;