reactjs - React Bootstrap Popover:初始化时的 Pre-Open Popover
问题描述
如何预打开(初始化为打开)React Bootstrap Popover?我有以下在初始关闭状态下工作,
const popoverApproverNewAgreement = (
<Popover id="popover-approverNewAgreement">
<Popover.Title as="h3"></Popover.Title>
<Popover.Content>
Some text
</Popover.Content>
</Popover>
);
<OverlayTrigger trigger="click" rootClose placement="bottom" overlay={popoverApproverNewAgreement}>
<a href="javascript:void(0)" className="more-info">
<i className="fas fa-question-circle" aria-label="more information">
</i>
</a>
</OverlayTrigger>
解决方案
我无法使用它,OverlayTrigger
但使用更通用的方法取得了成功,Overlay
它需要 ashow={..}
以便您可以使用状态变量显示/隐藏。
Overlay
需要target ref
如下。
// Ref for Link or Button triggering overlay (required for <Overlay> usage)
const refLink = useRef(null);
// State variable
const [overlayOpen, setOverlayOpen] = useState(true); // Initially open
<a ref={refLink} href="javascript:void(0)" onClick={() => setOverlayOpen(!overlayOpen)}>
<i className="fas fa-question-circle" aria-label="more information">
</i>
</a>
<Overlay target={refLink.current} show={overlayOpen}
onHide={() => setOverlayOpen(false)} rootClose placement="bottom">
{popoverApprover}
</Overlay>
推荐阅读
- c# - 缺少一个参数。[参数序数=8]
- sql - 我们如何解决 SQL/Bigquery 中的 SQL 查询问题?
- javascript - 由于可选链接,Npm 构建失败
- r - 更改图例中的标签名称
- python-3.x - 我希望我的代码检查多个条件并选择已满足的条件并执行它。不幸的是我的代码没有返回任何东西
- javascript - 断开连接时向后端发送套接字 IO
- python - 在 Pandas 中选择行并将它们放入列表的更快方法?
- nginx - 在访问处理程序中创建的 nginx 变量在后续指令中使用时不包含值
- dns - 如何使用我的 freenom 子域设置 www?
- python - 正则表达式替换第二次出现的点