reactjs - 带有 React 的 Ionic popover - 如何使其粘在按钮上

标签 reactjs ionic-framework

按照 Ionic 文档,我试图让弹出框粘在按钮上( like on their own example )。
不幸的是,我不知道如何实现这一目标......
谢谢

import React, { useState } from 'react';
import { IonPopover, IonButton } from '@ionic/react';

export const PopoverExample: React.FC = () => {
  const [showPopover, setShowPopover] = useState(false);

  return (
    <>
      <IonPopover
        isOpen={showPopover}
        onDidDismiss={e => setShowPopover(false)}
      >
        <p>This is popover content</p>
      </IonPopover>
      <IonButton onClick={() => setShowPopover(true)}>Show Popover</IonButton>
    </>
  );
};

最佳答案

您还需要在 showPopover Hook 中包含一个事件 -

const [showPopover, setShowPopover] = useState<{open: boolean, event: Event | undefined}>({
  open: false,
  event: undefined,
});

<IonPopover
    isOpen={showPopover.open}
    event={showPopover.event}
    onDidDismiss={e => setShowPopover({open: false, event: undefined})}
>
   <p>This is popover content</p>
</IonPopover>
<IonButton onClick={(e) => setShowPopover({open: true, event: e.nativeEvent})}>Click</IonButton>

关于reactjs - 带有 React 的 Ionic popover - 如何使其粘在按钮上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59707783/

相关文章:

android - 硬件后退按钮关闭启用 Tab 的 Ionic 3 应用程序上的应用程序

javascript - Angular,获取文本框的动态值到 Controller

javascript - React 动态表单输入 useRef typeError

javascript - 使用 setState 时 React this 未定义

javascript - 如何在 create-react-app 中激活 CORS?

javascript - Stripe 未收到 Firebase 充电功能

android - 错误 : bundling failed: ReferenceError: SHA-1 for file index. js

reactjs - react 中的传播运算符抛出意外 token 的错误

android - "Error: ' ANDROID_HOME ' environment variable is set to non-existent path"在 ubuntu 上

android - Android 模拟器中不显示 ionic 图标