2015-06-18 85 views
1

我在p:tooltip中使用Primefaces graphicImage,並且想要單獨設置圖像的寬度和高度。Primefaces - 動態設置樣式屬性

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

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

更新: Bean.myStyle正確觸發,風格參數在頁面的源代碼更新,但不是在DOM樹。 如果我直接設置style =「width:100px」,它會起作用,但是如果值來自bean,它將被忽略。

看起來好像graphicImage的樣式屬性被更新,但不是組件本身。

缺少什麼我在這裏?

+0

缺少引號? –

+0

ops,但我只在問題 – sinclair

+1

中忘記了它們瀏覽器的DOM檢查器中的「樣式」選項卡是什麼意思? – BalusC

回答

0

我認爲樣式值是在文檔被加載時設置的,並且它的永不重載,當它可見時只是其顯示: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> 
+0

不幸的是,tooltip和graphicImage都不會觸發任何ajax事件。 – sinclair

2

使用本

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