如何在 GWTBootstrap 中 refresh/update 弹出窗口?
How to refresh/update Popover in GWTBootstrap?
我使用 GWTBootstrap3 v0.9.1.
我想显示一个 Popover ,其中包含存储在数据库中的内容。因此,当用户第一次将鼠标悬停在一个元素上时,会显示一个带有 Please wait...
信息的 Popover。同时,我从数据库中获取了正确的文本,并想用新内容替换 Popover 的内容。
我认为这段代码可以解决问题:
popover.setContent(newText);
popover.reconfigure();
但它不起作用:弹出窗口消失,不再显示。
我知道 Bootstrap 用户有 solutions,但是当我使用 GWT-Bootstrap 时,我想在 GWT 不使用 jQuery.
在这种情况下,我只是编写本机 javascript 方法 jquery 来实现它。
更好的是,我在 GWT-Bootstrap 库本身中更改它并执行拉取请求,以便将其合并到主仓库中。
我过去曾为 GWT-Bootstrap3 做过类似的事情,它很快就合并到了主仓库中。
我遵循@Knarf 的建议并使用本地方法,因为我找不到纯 GWT 解决方案:
private native void updatePopover(Element element, String popoverHtml, boolean shown) /*-{
var $popover = $wnd.jQuery(element);
$popover.data('bs.popover').options.content = popoverHtml;
if(shown)
$popover.popover('show');
}-*/;
其中:
element
是弹出窗口小部件的元素(具有弹出窗口的元素)
popoverHtml
为新内容
shown
表示更新时popover是否可见
我通过 ShowHandler 和 HideHandler 跟踪可见状态:
uiPopover.addShowHandler(new ShowHandler() {
@Override
public void onShow(ShowEvent event) {
popoverVisible = true;
}
});
uiPopover.addHideHandler(new HideHandler() {
@Override
public void onHide(HideEvent event) {
popoverVisible = false;
}
});
编辑:
最好使用 ShowHandler 和 HideHandler 而不是 ShownHandler 和 HiddenHandler。
该主题已得到解答,但有 GWT 解决方法。当 isAnimated
属性 为 true
时,重新配置方法无法正常工作。初始化的时候关掉就好了
我使用 GWTBootstrap3 v0.9.1.
我想显示一个 Popover ,其中包含存储在数据库中的内容。因此,当用户第一次将鼠标悬停在一个元素上时,会显示一个带有 Please wait...
信息的 Popover。同时,我从数据库中获取了正确的文本,并想用新内容替换 Popover 的内容。
我认为这段代码可以解决问题:
popover.setContent(newText);
popover.reconfigure();
但它不起作用:弹出窗口消失,不再显示。
我知道 Bootstrap 用户有 solutions,但是当我使用 GWT-Bootstrap 时,我想在 GWT 不使用 jQuery.
在这种情况下,我只是编写本机 javascript 方法 jquery 来实现它。
更好的是,我在 GWT-Bootstrap 库本身中更改它并执行拉取请求,以便将其合并到主仓库中。
我过去曾为 GWT-Bootstrap3 做过类似的事情,它很快就合并到了主仓库中。
我遵循@Knarf 的建议并使用本地方法,因为我找不到纯 GWT 解决方案:
private native void updatePopover(Element element, String popoverHtml, boolean shown) /*-{
var $popover = $wnd.jQuery(element);
$popover.data('bs.popover').options.content = popoverHtml;
if(shown)
$popover.popover('show');
}-*/;
其中:
element
是弹出窗口小部件的元素(具有弹出窗口的元素)popoverHtml
为新内容shown
表示更新时popover是否可见
我通过 ShowHandler 和 HideHandler 跟踪可见状态:
uiPopover.addShowHandler(new ShowHandler() {
@Override
public void onShow(ShowEvent event) {
popoverVisible = true;
}
});
uiPopover.addHideHandler(new HideHandler() {
@Override
public void onHide(HideEvent event) {
popoverVisible = false;
}
});
编辑: 最好使用 ShowHandler 和 HideHandler 而不是 ShownHandler 和 HiddenHandler。
该主题已得到解答,但有 GWT 解决方法。当 isAnimated
属性 为 true
时,重新配置方法无法正常工作。初始化的时候关掉就好了