如何获得p:selectOneMenu在对话框中正确计算其宽度?

Mic*_*vin 4 dialog selectonemenu primefaces

当我嵌入a p:selectOneMenup:dialog,它的初始宽度在Primefaces 3.4中太小.这些小部件的宽度在Primefaces 3.2中完全没问题.我需要做一个黑客来解决这个问题吗?

问题出现在Chrome中.以下示例代码演示了此问题:

<p:selectOneMenu value="A" onchange="testDialog.show()">
  <f:selectItem itemLabel="Default item" itemValue="A" />
  <f:selectItem itemLabel="Click here to show the dialog" itemValue="B" />
</p:selectOneMenu>
<p:dialog header="Test dialog" widgetVar="testDialog">
  <p:selectOneMenu value="A">
    <f:selectItem itemLabel="This one here in the dialog" itemValue="A" />
    <f:selectItem itemLabel="doesn't calculate" itemValue="B" />
    <f:selectItem itemLabel="its width" itemValue="C" />
    <f:selectItem itemLabel="correctly" itemValue="D" />
  </p:selectOneMenu>
</p:dialog>
Run Code Online (Sandbox Code Playgroud)

小智 7

我能够重现你的问题; 它就像下拉按钮一样无知它掩盖文本框的事实.在我的设置中,我能够通过此CSS修复正确显示selectOneMenus:

<style type="text/css">
    .ui-selectonemenu label.ui-selectonemenu-label {
        padding-right: 28px;
        text-align: left;
    }
</style>
Run Code Online (Sandbox Code Playgroud)

编辑:哦,哎呀,我看到这个解决方案非常类似于akoskm的评论.但我当时试过这个并text-align: right没有为我工作; 只是text-align: left留下了人物发现.