Primefaces迁移-指南5.3至6.0:
ContextMenu: p:contextMenu现在必须放在xhtml中的目标组件(例如数据表)之后。
我试过了,但不起作用。完全没有菜单。
显示将ContextMenu放在dataTable之前:菜单。浏览器控制台上的其他输出:
ContextMenu针对的是一个尚不可用的小部件。请将contextMenu放在目标组件之后。targetWidgetVar: widget_base_cars
我的Webshpere Liberty日志:
...org.primefaces.webapp.PostConstructApplicationEventListener I Running on PrimeFaces 7.0Java:
java.version = 1.8.0_102<h:body>
<h1>Context Menu</h1>
<h2>ContextMenu: p:contextMenu must be placed AFTER the target component</h2>
<h:form id="base" >
<p:dataTable id="cars" var="car" value="#{dtContextMenuView.cars}" rowKey="#{car.id}" >
<f:facet name="header">
List with #{dtContextMenuView.numberOfCars} Items
</f:facet>
<p:column headerText="Id">
<h:outputText value="#{car.id}" />
</p:column>
<p:column headerText="Year">
<h:outputText value="#{car.year}" />
</p:column>
<p:column headerText="Brand">
<h:outputText value="#{car.brand}" />
</p:column>
<p:column headerText="Color">
<h:outputText value="#{car.color}" />
</p:column>
</p:dataTable>
<p:contextMenu for="cars" >
<p:menuitem value="Hello" />
<p:menuitem value="World" />
</p:contextMenu>
<h2>but it fails</h2>
</h:form>
</h:body>我希望菜单在右键单击时显示。
是虫子,还是我是虫子?
发布于 2019-04-11 02:00:24
我用PF 5.3/6.0/7.0重现了这个测试。只要你的p:dataTable不可选,我就支持你:
当将添加到xhtml中的p:dataTable元素之上时,p:contextMenu会出现在右键单击上。当在下面添加时,根本不会出现上下文菜单。但是tbh.:上下文菜单对不允许选择的datatable有用吗?
当通过添加属性使其可选时
selection="#{myBean.selectedValue}" selectionMode="singel"它的行为如下:
p:contextMenu迁移指南建议的p:dataTable下方:右键单击时,单击的行将被选中,上下文菜单出现在p:dataTable上方的it.p:contextMenu上:右键单击时,上下文菜单也会出现,但该行未被选中。因此,如果将p:contextMenu添加到表的上方,选择就不会像预期的那样工作,这一定是迁移指南显示“添加到下面!”的原因。
https://stackoverflow.com/questions/55615259
复制相似问题