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

Few*_*ewl 4 reactjs ionic-framework

按照 Ionic 文档,我试图将弹出框粘在按钮上(就像他们自己的例子一样)。不幸的是,我不知道如何实现这一点......谢谢

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>
    </>
  );
};
Run Code Online (Sandbox Code Playgroud)

Jam*_*man 14

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

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>
Run Code Online (Sandbox Code Playgroud)