在已禁用的 p:tabView 中启用 p:tab,而不更新所有表单(素数)

Enable a p:tab in a p:tabView already disabled without updating all form (primefaces)

本文关键字:更新 表单 素数 tab tabView 启用      更新时间:2023-09-26

如何更新选项卡内的选项卡视图已禁用。

我尝试仅通过类名 (.ui-tabs-nav) 更新标头,但没有任何反应。我还试图在tabViewTab之间添加一个div,以通过id更新它或仅使用样式,但是JSF不会呈现这个。

我找到了一种直接使用 JavaScript 的解决方案,通过更改类值。

当 JSF 生成 HTML 代码时,它会用值填充这些选项卡中的每个类标记。如果我们观察到启用的选项卡,我们会注意到该类包含ui-state-default ui-corner-top,而禁用的类包含ui-state-default ui-corner-top ui-state-disabled

为了选择所需的选项卡,我使用了这个表达式

$('ul.ui-tabs-nav li:eq(n)')

并更改类值

1- $('ul.ui-tabs-nav li:eq(n)').attr('class', 'ui-state-default ui-corner-top ui-state-disabled');  
2- $('ul.ui-tabs-nav li:eq(n)').attr('class', 'ui-state-default ui-corner-top'); 

另一种选择是使用 :

widgetVar标签在素数标签内查看包含PF('tabView').enable(n)PF('tabView').disable(n)

n 是从 0 开始的选项卡排名