Passthrough не добавляет атрибут - PullRequest
1 голос
/ 10 марта 2020

Я пытаюсь добавить атрибут title к f:selectItem компоненту, используя passthrough , но он ничего не добавляет к моим DOM-элементам.

Окружающая среда

Server : Payara 5.184
JSF : 2.3.3.99
Framework : Primefaces 7.0

Просмотр

<html ... xmlns:p="http://primefaces.org/ui" xmlns:pt="http://xmlns.jcp.org/jsf/passthrough" ...>
...
<p:selectOneButton onchange="PF('myTable').filter()">
    <f:converter converterId="javax.faces.Boolean" />
    <f:selectItem itemLabel="a" itemValue="#{null}" pt:title="All" />
    <f:selectItem itemLabel="o" itemValue="#{true}" pt:title="OK" />
    <f:selectItem itemLabel="n" itemValue="#{false}" pt:title="NOTOK" />
</p:selectOneButton>

DOM

...
<div class="..." tabindex="0">
    <input ... type="radio" value="" class="ui-helper-hidden-accessible" tabindex="-1" checked="checked">
    <span class="ui-button-text ui-c">a</span>
</div>
...

Итак, нет title атрибут добавлен. Есть подсказка?

1 Ответ

2 голосов
/ 10 марта 2020

Атрибуты прохода, по крайней мере, до PrimeFaces 8, не поддерживаются для f:selectItem(s) (отсюда и этот явный ответ) Но для этого специфического c usecase Primefaces всплывающая подсказка для p: selectManyCheckbox или другого p: selectMany * / One * имеет решение для вас (используя атрибут itemDescription вместо pt:title)

...