ant-design/components/popover/demo/hover-with-click.md
yykoypj 43d45330c5
feat: switch visible to open for Tooltip & Popover & Popconfirm (#36807)
* feat: switch visible to open for Tooltip

* feat: switch visible to open for Popover

* feat: switch visible to open for Popconfirm

* fix

* chore: resolve conflict

* test: fix test case

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

1.4 KiB

order title
5
zh-CN en-US
悬停点击弹出窗口 Hover with click popover

zh-CN

以下示例显示如何创建可悬停和单击的弹出窗口。

en-US

The following example shows how to create a popover which can be hovered and clicked.

import { Button, Popover } from 'antd';
import React, { useState } from 'react';

const App: React.FC = () => {
  const [clicked, setClicked] = useState(false);
  const [hovered, setHovered] = useState(false);

  const hide = () => {
    setClicked(false);
    setHovered(false);
  };

  const handleHoverChange = (open: boolean) => {
    setHovered(open);
    setClicked(false);
  };

  const handleClickChange = (open: boolean) => {
    setHovered(false);
    setClicked(open);
  };

  const hoverContent = <div>This is hover content.</div>;
  const clickContent = <div>This is click content.</div>;
  return (
    <Popover
      style={{ width: 500 }}
      content={hoverContent}
      title="Hover title"
      trigger="hover"
      open={hovered}
      onOpenChange={handleHoverChange}
    >
      <Popover
        content={
          <div>
            {clickContent}
            <a onClick={hide}>Close</a>
          </div>
        }
        title="Click title"
        trigger="click"
        open={clicked}
        onOpenChange={handleClickChange}
      >
        <Button>Hover and click / 悬停并单击</Button>
      </Popover>
    </Popover>
  );
};

export default App;