2016-06-12 4 views
1

У меня проблема с Primefaces 5.2 p:autocomplete внутри p:dialog. Дело в том, что пользователь вводит текст внутри поля, выпадающее меню появляется внутри диалогового окна прокрутки (см. Рисунок), но я хочу, чтобы выпадающее меню отображалось вне диалогового окна.Предисловие p: выпадение автозаполнения не выходит за пределы p: dialog

enter image description here

Поскольку диалоговое окно находится выше другого диалога, я должен был использовать appendTo="@this". Это мой код:

<p:dialog id="someid" widgetVar="someid-dialog" modal="true"> 
    <h:form id="someid-form"> 
     <p:panelGrid columns="2"> 
      <h:outputText value="Name"/> 
       <p:autoComplete appendTo="@this" id="someid-auto" var="pr" 
           value="#{someBean.product}" itemValue="#{pr}" 
           itemLabel="#{pr.name}#" label="Product"          
           completeMethod="#{someBean.filteredProducts}" 
           converter="productConverter">        
       </p:autoComplete> 
    </h:form> 
</p:dialog> 

Поскольку проблема очевидна на стороне клиента, я не вставлял свой внутренний код. Помещение формы за пределы диалога не помогло. У меня была та же проблема с p:selectOneMenu. Надеюсь, у кого-то есть решение.

+0

Это, как вы говорите, ведет себя хорошо. Это потому, что вы использовали 'appendTo =" @ this ". Обычно часть «popup/out» добавляется к телу html, а затем работает (фактически отображается вне диалога). Но тогда он не будет прокручиваться с содержимым диалогового окна, если вы прокрутите его (выглядит отдельно от входа). Вы можете экспериментировать с использованием переполнения css, но это также привело бы к другим проблемам. Это не особая проблема PrimeFaces. У многих других фреймворков тоже есть эта проблема. Отчасти это связано с тем, как работают браузеры/css. – Kukeltje

+0

Вы можете экспериментировать, не используя appendTo, и добавить некоторый javascript, который «onscroll» перемещает всплывающее окно. – Kukeltje

+0

Кукельтье, спасибо за ваши предложения! Я уже играл, не используя appendTo и css (переполнение), но без успеха. Hm, Интересно, что это не проблема PrimeFaces, как вы утверждаете, потому что (например) «h: selectOneMenu» отлично работает, но мне нужна функция поиска, которая предоставляется параметрами 'p: selectOneMenu' или' p : autocomplete'. С наилучшими пожеланиями. – akelec

ответ

0

Удалить appendTo = "@ this". вы не хотите добавлять раскрывающийся список в диалог.

Смежные вопросы