gpt4 book ai didi

reactjs - 如何动态定位 IonPopover 以从按钮出现?

转载 作者:行者123 更新时间:2023-12-03 22:57:18 26 4
gpt4 key购买 nike

当单击该按钮时,我试图将弹出框放置在该按钮下方。这方面的一个例子在 Ion 文档页面上。 enter image description here

然而,React 中没有提供此代码,仅在 Angular 中提供。

目前我的代码看起来像这样

...
<IonButtons slot="end">
<IonButton onClick={() => setShowPopover(true)} expand="block">
<IonIcon icon={more}/>
</IonButton>
</IonButtons>
<IonPopover
isOpen={showPopover}
backdropDismiss={true}
onDidDismiss={() => setShowPopover(false)}>
<IonItem>Popover Item</IonItem>
</IonPopover>
...

弹出框由其上方的按钮切换。当按钮被按下时,弹出框出现在页面中间,而不是按钮上方。如何更改此设置,以便显示附加到按钮的弹出框? (如图)

谢谢

最佳答案

受到 Thomas 的回答的启发,但无法使他的代码工作,以下对我有用:

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 - 如何动态定位 IonPopover 以从按钮出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59138081/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com