primefaces - 是否可以手动重置 Primefaces 选项卡以强制重新加载

标签 primefaces tabview

我正在使用 Primefaces tabView,并将动态和缓存属性设置为 true - 因此,每个选项卡都会在第一次显示时加载,然后缓存,因此确实需要重新加载。 有没有办法手动强制重新加载已缓存的选项卡,以便下次显示时再次从服务器而不是从缓存中获取其内容?

所以如果我有类似的东西

<p:tabView id="MyTabViewId" widgetVar="_MyTabViewId" dynamic="true" cache="true">
...
</p:tabView>

我可以编写一些类似于以下内容的 JavaScript

PF('_MyTabViewId').invalidate(0);
PF('_MyTabViewId').select(0);

第一个选项卡将从服务器加载,无论它是否在缓存中。

最佳答案

是的,您只需将此脚本添加到您的页面即可...

if (PrimeFaces.widget.TabView) {
    PrimeFaces.widget.TabView.prototype.reloadTab = function(index) {
        var reloadPanel = this.panelContainer.children().eq(index);
        reloadPanel.data('loaded', false);
        this.select(index);
    }
}

这会向小部件添加一个 reloadPanel 方法,以便您可以执行此操作 PF('_MyTabViewId').reloadPanel(0);

问题:https://github.com/primefaces/primefaces/issues/8007

公关:https://github.com/primefaces/primefaces/pull/8008

将包含在 PrimeFaces 11.0.0 中

关于primefaces - 是否可以手动重置 Primefaces 选项卡以强制重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69667691/

相关文章:

iOS 从多个 View 访问数据

jsf - 选择多个组件中的项目动态重新加载

css - 如何将颜色设置为 f :selectItem in primefaces?

css - 跨浏览器的 Primefaces 复选框一致性

Android:在选项卡上显示新项目的数量

swift - TabView 上的元素删除后不消失

yui3 - 如何使用javascript更改YUI3选项卡

java - 为什么输入在必填字段验证后保持值

jsf - 避免在移动设备上选择 selectOneMenu 时显示键盘

ios - SWIFTUI 在 TabView 中隐藏当前 View 的 navigationBarBackButton