автозаполнение Primefaces получить индекс элемента для заголовка или всплывающей подсказки - PullRequest
0 голосов
/ 29 августа 2018

Я использую автозаполнение с менеджером сущностей. В большинстве случаев «selectedVendorList» заполнен, поэтому в поле ввода предварительно загружаются элементы <li/> при загрузке страницы. Я хотел бы иметь возможность отображать имя каждого поставщика в виде всплывающей подсказки, используя «заголовок». Я могу отображать жестко запрограммированный заголовок и даже общаться с компонентом поддержки с помощью атрибута title. Однако я не могу понять, как передать индекс конкретного элемента vendor компоненту поддержки.

Я могу сделать это:

<p:autoComplete id="vendorCodeCtl" multiple="true" 
value="#{ue.selectedVendorList}" 
completeMethod="#{ue.completeVendor}"
var="vendor" itemLabel="#{Vendor.itemCode}" 
itemValue="#{Vendor}" forceSelection="true" 
scrollHeight="400" converter="entityConverter" title="some hard-coded tooltip">
    <p:column style="width:10%">
        <h:outputText value="#{Vendor.itemName}" /> -- <h:outputText value="#{Vendor.itemCode}" />
    </p:column>
</p:autoComplete>   

Я могу сделать это, и он достигает боба, но бин не знает, о каком элементе я говорю:

title="#{ue.getVendorName}"

но я хочу сделать это:

title="#{Vendor.itemName}"

или даже это:

title="#{ue.getVendorName(indexofvendor)}"

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

Я не знаю, может быть, это плохой дизайн, и я должен просто поместить свои «выбранные» элементы в таблицу данных, но это работает с элементами, остающимися в поле ввода, мне просто нужно добавить всплывающую подсказку.

ОБНОВЛЕНИЕ : После проверки структуры dom я вижу, что заголовок применяется к «ui-autocomplete-input-token» (все поле ввода), а не к «ui-autocomplete-token» (индивидуальный <li/> element), поэтому я думаю, что, вероятно, невозможно соотнести названия с отдельными элементами. Мне, вероятно, придется написать несколько пользовательских js.

спасибо!

...