【问题标题】:The tab key does not work when AutoComplete is in a editable DataTable当 AutoComplete 位于可编辑的 DataTable 中时,tab 键不起作用
【发布时间】:2019-10-20 12:56:12
【问题描述】:

我在p:dataTablep:cellEditors 中有一个p:autoComplete。当我按 Tab 键光标在行元素之间按顺序正确移动时,例如在输入和 selectOneMenus 之间,除了 AutoComplete,光标进入 AutoComplete 但它无法退出。

我明白如果我在p:autoComplete 中删除var 它可以正常工作,我认为var 会生成一个隐藏的输入,破坏了tabindex,但我无法用tabindex 和其他方式修复它。

     <p:dataTable id="FieldSoftwareElement_listForm_dataTable"  value="#{classSoftwareElementController.selectedClassSoftwareElement.fields}" var="item" style="margin-top: 30px;margin-bottom: 10px"
                  widgetVar="itemWidgetVar" styleClass="editableDataTable"  selection="#{classSoftwareElementController.selectedFieldSoftwareElements}" editMode="cell" editable="true"
                  paginator="false" paginatorAlwaysVisible="false" paginatorPosition="bottom" rowKey="#{item.hashCode()}" rows="10" rowsPerPageTemplate="10,20,30,40,50">
                    <p:ajax event="rowUnselectCheckbox" update="FieldSoftwareElement_listForm_btnsPanel"/>
                    <p:column selectionMode="multiple" style="width:16px;text-align:center"/>

       <p:column  headerText="#{bundle.FieldSoftwareElement_AccessFlag}">
          <p:cellEditor>
                   <f:facet name="output">
                      <p:outputLabel  value="#{item.accessFlag}"/>
                   </f:facet>
                   <f:facet name="input" id="cfh">
                      <p:autoComplete styleClass="search-box" title="Creator"
                                    id="ReferenceEventDialog_referenceEventForm_toCreatorIn" multiple="true"
                                    var="creator"                                   
                                    value="#{item.accessFlag}"
                                    completeMethod="#{sendLtrView.allowableActors}"
                                    converter="ActorRelationConverter" itemLabel="#{creator.title}"
                                    itemValue="#{creator}"
                                    disabled="#{tabParam.readOnly}" forceSelection="true">
                   </f:facet>
         </p:cellEditor>
       </p:column>
       <p:column headerText="#{bundle.FieldSoftwareElement_ColumnSize}">
           <p:cellEditor>
                  <f:facet name="output">
                     <p:outputLabel value="#{item.columnSize}"/>
                  </f:facet>
                  <f:facet name="input">
                    <p:inputNumber value="#{item.columnSize}" disabled="#{not classSoftwareElementController.selectedDynamic}"/>
                  </f:facet>
         </p:cellEditor>
     </p:column>                                             
     </p:dataTable>

【问题讨论】:

  • 什么版本的 PrimeFaces?
  • @Melloware 7.0 版

标签: primefaces datatable autocomplete


【解决方案1】:

请看这张票:https://github.com/primefaces/primefaces/issues/3314

它将在 7.1 中修复。如果您在 AutoComplete 上设置 autoSelection="false",TAB 键将正常工作并且不会选择该项目。

【讨论】:

  • 我在 primefaces 纯项目中对其进行了测试,但这对我不起作用,请注意我在 p:cellEditor 中的 p:autoComplete 并且没有 cellEditor 我没有问题。当我删除 var在自动完成 tabkey 工作正常。
  • 很抱歉您针对 7.1 SNAPSHOT 进行了测试?自动选择=“假”?它在 7.0 中不固定,只有 7.1
  • 欢迎您,不,我只在 7.0 中测试过,我以为您说它在 7.0 中用 autoSelection="false" 修复,好的,所以我将等待 7.1。
  • 很抱歉造成混淆,是的,它仅在 7.1 中修复。
猜你喜欢
  • 2014-09-03
  • 1970-01-01
  • 1970-01-01
  • 2012-05-20
  • 2014-09-05
  • 2021-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多