BootsFaces не отображает область из ajax - PullRequest
0 голосов
/ 25 ноября 2018

Я пытаюсь отобразить таблицу данных, используя ajax ( BootsFaces ) в соответствии со значениями, указанными в форме.К сожалению, нужная часть не рендерится.Я вижу, что запрос ajax идет на вкладке сети, но он ничего не делает (Area не рендерится, и этот searchPartialBean.getSearchList() метод не вызывается).Ниже приведен мой фрагмент кода.Есть ли проблема в том, как я это делаю?

<b:tab title="Search">
<h:form>
    <b:row>
        <b:column mediumScreen="7">
            <b:inputText placeholder="Telephone number" label="Telephone number"
                         value="#{searchPartialBean.telephoneNumber}"/>
            <b:inputText placeholder="First name" label="First Name"
                         value="#{searchPartialBean.firstName}"/>
            <b:inputText placeholder="Last name" label="Last Name"
                         value="#{searchPartialBean.lastName}"/>
            <b:commandButton look="primary" id="search-form-submit" value="Search"
                             update="serach-results-table"/>
        </b:column>
        <b:column mediumScreen="5">
            <b:alert severity="info" title="Info">
                This will contain the search help.
            </b:alert>
        </b:column>
    </b:row>
    <br />
    <b:panel id="serach-results-table">
        <b:dataTable rendered="#{searchPartialBean.valuesPresent}" value="#{searchPartialBean.getSearchList()}" var="patient">
            <b:dataTableColumn label="Date" value="#{patient.firstName}"/>
        </b:dataTable>
    </b:panel>
</h:form>
</b:tab>

1 Ответ

0 голосов
/ 08 декабря 2018

Вы завернули форму во вкладке.Оба виджета определяют пространство имен, которое, в свою очередь, добавляет префикс к идентификатору каждого виджета внутри.Вероятно, это проблема.

Мой первый подход заключается в добавлении двоеточия, чтобы указать, что вы ищете во внутреннем пространстве имен:

update=":search-results-table"

Если это не сработает, вы можете использоватьрекурсивное поисковое выражение BootsFaces:

update="**:search-results-table"

Однако мой любимый подход - использовать псевдокласс CSS, например:

update="@(.search-results-table)"

<b:panel styleClass="search-results-table">
...