Dmi*_*try 6 reactjs react-bootstrap
我正在使用 React-Bootstrap Popover。一旦用户单击位于弹出框内的关闭按钮,我希望弹出框关闭。我更喜欢不使用 refs 的解决方案,因为 facebook 不建议使用它们。这是我的代码
const popoverTop = (
<Popover id="popover-positioned-top" title="Popover top">
<button type="button" className="close">×</button>
<strong>Holy guacamole!</strong> Check this info.
</Popover>
);
<OverlayTrigger trigger="click" placement="top" overlay={popoverTop}>
<Button>Holy guacamole!</Button>
</OverlayTrigger>
Run Code Online (Sandbox Code Playgroud)
小智 9
这是帮助我的原因:
<OverlayTrigger
container={this}
trigger="click"
placement="right"
overlay={this.popoverClick}
rootClose={true}
>
<Button aria-label="Get Info" bsSize="medium">
Button Name
</Button>
</OverlayTrigger>
Run Code Online (Sandbox Code Playgroud)
popoverClick 在哪里:
<Popover id="popover-positioned-scrolling-right" className="popover-main">
<div className="popover-custom-header">
<h3 className="popover-title">Your Title</h3>
<IconButton aria-label="Close" className="icon-button"
onClick={() => document.body.click()}>
<Close fontSize="small"/>
</IconButton>
</div>
<div class="popover-custom-content">
{/* ... the content you need */}
</div>
</Popover>
Run Code Online (Sandbox Code Playgroud)
document.body.click() -> 完成所有工作。
参考:https : //stackoverflow.com/a/47636953/9743227
我也希望它能帮助你!
小智 4
我知道已经过去很多时间了,今天我遇到了同样的问题,所以我来到了这里。我找到了解决它的方法。
<OverlayTrigger trigger = 'your-trigger' placement = 'auto' rootClose
ref = 'overlay'>
<Popover title='' >
------
</Popover>
<Button onClick={ this.hidePopover } ></Button>
</OverlayTrigger>Run Code Online (Sandbox Code Playgroud)
然后在方法中
hidePopover = ( ) =>
{
this.refs.overlay.handleHide();
}Run Code Online (Sandbox Code Playgroud)
我希望我有所帮助
| 归档时间: |
|
| 查看次数: |
4903 次 |
| 最近记录: |