ant-design/components/dropdown/demo/overlay-open.md
yykoypj 41a8003241
feat: switch visible to open for Dropdown (#36799)
* feat: switch visible to open for Dropdown

* feat: add warning when use visible

* fix: visible in dropdown-button

* chore: merge conflict

Co-authored-by: 二货机器人 <smith3816@gmail.com>
2022-08-24 17:46:44 +08:00

1.3 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 { DownOutlined } from '@ant-design/icons';
import type { MenuProps } from 'antd';
import { Dropdown, Menu, Space } from 'antd';
import React, { useState } from 'react';

const App: React.FC = () => {
  const [open, setOpen] = useState(false);

  const handleMenuClick: MenuProps['onClick'] = e => {
    if (e.key === '3') {
      setOpen(false);
    }
  };

  const handleOpenChange = (flag: boolean) => {
    setOpen(flag);
  };

  const menu = (
    <Menu
      onClick={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} onOpenChange={handleOpenChange} open={open}>
      <a onClick={e => e.preventDefault()}>
        <Space>
          Hover me
          <DownOutlined />
        </Space>
      </a>
    </Dropdown>
  );
};

export default App;