我在p:tooltip中使用Primefaces graphicImage,并希望单独设置图像的宽度和高度。
<p:remoteCommand....update="myImage" />
<p:tooltip beforeShow="remoteCommand()">
<p:graphicImage id="myImage"... style="#{myBean.myStyle}" />
....
更新: Bean.myStyle
正确触发,样式参数在页面源代码中更新,但不在 dom 树中更新。如果我直接设置 style="width:100px",它可以工作,但如果值来自 bean,它将被忽略。
似乎图形图像的样式属性得到了更新,但组件本身却没有更新。
我在这里错过了什么?
我认为样式值是在加载文档并且从未重新加载时设置的,当它可见时,只有它的显示:none 值正在更改。所以我会给 p:graphicImage 一个 id,然后我会使用 onShow 或类似事件添加一个 p:ajax(我不知道哪个可用于工具提示),然后我会使用 update 属性来渲染图形图像。如果我没记错的话,即使它应该只适用于没有任何属性的<p:ajax />
,但我不确定
所以它应该看起来像这样:
<p:graphicImage id="x" style="#{bean.value}">
<p:ajax event="show" update"x"/>
</p:graphicImage>
使用这个
<p:graphicImage width="#{bean.widthValue}" height="#{bean.heightValue}" >
</p:graphicImage>