【问题标题】:Primefaces - set style attribute dynamicallyPrimefaces - 动态设置样式属性
【发布时间】:2015-06-18 12:45:58
【问题描述】:

我在 p:tooltip 中使用 Primefaces graphicsImage,并希望单独设置图像的宽度和高度。

 <p:remoteCommand....update="myImage" />

 <p:tooltip beforeShow="remoteCommand()">
   <p:graphicImage id="myImage"... style="#{myBean.myStyle}" />
....

更新: Bean.myStyle 被正确触发,并且样式参数在页面源中更新,但在 dom 树中没有。 如果我直接设置 style="width:100px" 它可以工作,但如果值来自 bean,它会被忽略。

graphicImage 的样式属性似乎更新了,但组件本身没有更新。

我在这里缺少什么?

【问题讨论】:

  • 缺少引号?
  • ops,但我只在问题中忘记了它们
  • 浏览器的 DOM 检查器中的“样式”选项卡是什么意思?
  • @BalusC:样式属性在页面源中是正确的,但在 dom 树中是空的。
  • 显然它包含一个语法错误,导致它无法解析,因此不会在 DOM 中结束。

标签: css jsf primefaces


【解决方案1】:

我认为样式值是在加载文档并且从不重新加载时设置的,当它可见时,它的 display:none 值正在改变。所以我会给 p:graphicImage 一个 id 然后我会添加一个 p:ajax 使用 onShow 或类似的事件(我不知道哪一个可用于工具提示)然后我会使用更新属性来呈现图形图像。如果我没记错的话,它应该只适用于没有任何属性的&lt;p:ajax /&gt;,但我不确定

所以它应该是这样的:

<p:graphicImage id="x" style="#{bean.value}">
  <p:ajax event="show" update"x"/>
</p:graphicImage>

【讨论】:

  • 遗憾的是,tooltip 和 graphicsImage 都不会触发任何 ajax 事件。
【解决方案2】:

使用这个

<p:graphicImage width="#{bean.widthValue}" height="#{bean.heightValue}" >
</p:graphicImage>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-09
    • 2021-05-02
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多