【问题标题】:How to disable <p:tab>如何禁用 <p:tab>
【发布时间】:2015-09-16 16:43:22
【问题描述】:

我想使用 p:commandButton>

禁用 p:tab>

文件.xhtml

<h:form id="tabUserModule">
    <p:tabView value="#{listModule.toArray()}" var="car" id="tabView1" widgetVar="delg1">

        <p:tab title="#{car[0].module}" id="styleChoix" disabled="#{disableTag.disableTa}" >

            <p:tabView orientation="left"  >

                <p:tab title=" Prototype " >
                   <h:panelGrid >
        <p:commandButton value="Disable" oncomplete="delg1.select(0)" 
        action="#{disableTag.buttonAction}" update=":tabUserModule:tabView1:styleChoix"/>
 .....

Bean.java

@ManagedBean
@ViewScoped
public class DisableTag implements Serializable {

private static final long serialVersionUID = 7179479455651980518L;

private boolean disableTa=false;

public boolean isDisableTa() {
    return disableTa;
}

public void setDisableTa(boolean disableTa) {
    this.disableTa = disableTa;
}

public void buttonAction()
{
    disableTa = true;
}
}

但是当我执行此代码时,所有选项卡都被禁用,请问我该如何解决这个问题?

我想禁用被橙色包围的标签

【问题讨论】:

  • 您使用的是什么版本的 primefaces?
  • 嘿。你解决了什么问题?

标签: primefaces


【解决方案1】:

你应该改变你的更新属性为

update=":tabUserModule:tabView1"

仅代替您原来的“:tabUserModule:tabView1:styleChoix

这意味着您必须更新整个 p:tabView 元素,而不仅仅是特定的选项卡。因为在检查呈现的 html 时,这是您的选项卡的 disabled="false",其中 &lt;div&gt; 作为 &lt;p:tabView&gt;&lt;li&gt;&lt;a&gt; 组合作为您的个人 &lt;p:tab&gt;

<div id="tabUserModule:tabView1" ...>
   <li class="ui-state-default ui-corner-top" ...>
      <a href="#tabUserModule:tabView1:styleChoix">....</a>
   </li> 
</div>

但使用disabled="true" 会呈现为:

<div id="tabUserModule:tabView1" ...>
   <li class="ui-state-default ui-tabs-selected ui-state-active ui-corner-top ui-state-disabled" ...>
      <a href="#tabUserModule:tabView1:styleChoix">....</a>
   </li> 
</div>

注意在&lt;li&gt; 标签的类属性中添加了ui-state-disabled,这会导致它被禁用。

希望这会有所帮助。

【讨论】:

  • 即使我将 :tabUserModule:tabView1:styleChoix 更改为 update=":tabUserModule:tabView1 也不起作用,我仍然遇到同样的问题
  • 您是否在浏览器或服务器中看到任何错误输出?这很奇怪,因为我什至自己尝试过,而且效果很好
  • 还有哪些其他元素具有 disabled="#{disableTag.disableTa}" 属性?您可以在 file.xhtml 中添加更多详细信息吗?
  • 没有其他元素
  • 即使在浏览器控制台(F12)也没有报错?
猜你喜欢
  • 1970-01-01
  • 2017-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-07
  • 1970-01-01
相关资源
最近更新 更多