p:selectOneMenu 按 F5 时刷新不正确

p:selectOneMenu not refreshing properly when pressing F5

因此,在任何事情之前 首先要说明的是,即使在展示中,Firefox 也会出现这个问题 https://www.primefaces.org/showcase/ui/input/oneMenu.xhtml to replicate just select any value and hit f5 and the value will remain. Also check forum.primefaces.org/viewtopic.php?t=17525 for the details also check how to do autocomplete="off" at form level in JSF 其他对我不起作用的解决方案

出于某种原因,我在按 f5 刷新页面时遇到了一个小问题,我的 selectOneMenu 保留了先前选择的值,我需要他再次具有默认值或数组中的第一个...知道如何我解决这个?或者为什么会这样?页面的所有其他元素都成功重置了它的值,这是我的 selectOneMenu 的代码:

<p:panel styleClass="cds-panel-reset">
                    <p:selectOneMenu id="somOrigenConsulta" tabindex="1"
                        binding="#{consultaPagoPremiosMB.somOrigenConsulta}"
                        label="Origen" widgetVar="wvSomOrigenconsulta"
                        style="width: 140px !important;">
                        <p:ajax event="change" process="somOrigenConsulta"
                            update=":accordion:tbwPagarPremio:frmConsultapagopremioscod:pnlGrdDatosConsulta
                :accordion:tbwPagarPremio:frmConsultapagopremioscod:dtbPagopremios"
                            listener="#{consultaPagoPremiosMB.mostrarDialogoOrigen()}" />
                        <f:selectItems
                            value="#{consultaPagoPremiosMB.aOrigenConsulta}" />
                        <p:ajax process="@this"
                            render=":accordion:tbwPagarPremio:frmConsultapagopremioscod:pnlGrdDatosConsulta" />
                    </p:selectOneMenu>
                </p:panel>

如果我用CTRL+SHIFT+R刷新也能刷新成功,知道为什么F5不刷新吗???

会不会是缓存? https://www.saicharanreddy.com/whats-the-difference-between-f5-ctrlr-ctrlshiftr-ctrlf5-and-shiftf5-in-google-chrome-browser/

我如何在 selectonemenu holy 中处理它..

我搜索了一下问题似乎是 mozilla,https://forum.primefaces.org/viewtopic.php?t=17525

但是我无法实现 autocomplete=off,因为它似乎不是我的 selectonemenu (primefaces 7.0) 的一个属性,请提供另一种实现方式

问题出在firefox,也出现在showcase中。

所以我对这个问题很头疼,我在 selectOneMenu 上尝试了第一个解决方案,但它没有用,所以我不得不像这样使用 javascript:

<script type="text/javascript">
            $(document).ready(function(){
                var oneMenu = document.getElementById('accordion:tbwPagarPremio:frmConsultapagopremioscod:somOrigenConsulta_input');    
                oneMenu.value="1";

                })
    </script>

当我按下 F5 时它开始始终使用默认值 1,但我不能 100% 确定这是否是一个好的解决方案。

您可以使用 dynamic="true" 属性。我使用此属性解决了同样的问题。