2013-05-06 36 views
2

僅限於GXT 3.x。對齊GXT表單:FieldLabel及其gwt:標籤小部件

讓我們說我想創建一個GXT現場對佈局

標籤:價值

例如,

名稱:Carthyguessue

其中「Carthyguessue」是一個不變的字段而不是更新用戶可以使用gwt:Label進行效果。

因此,UI模板:

<form:FieldLabel ui:field="nameLabel" text="Name" labelWordWrap="false"> 
    <form:widget> 
    <g:Label ui:field="nameValue" /> 
    </form:widget> 
</form:FieldLabel> 

然而,由於已經做了大家對這款意識到會有〜3px的的nameLabel和nameValue的垂直偏移之間的赤字。

一個建議的方法是用hijack the gwt-Label css來定義偏移量。但是,如果我不能這樣做,因爲CSS完全由另一個部門完成。

因此,我發現這個工作。

<form:FieldLabel text="Name" labelWordWrap="false"> 
    <form:widget> 
    <container:VerticalLayoutContainer> 
     <g:Label height="3px"/> 
     <g:Label ui:field="nameValue" /> 
    </container:VerticalLayoutContainer> 
    </form:widget> 
</form:FieldLabel> 

我的問題

  • 我會面臨什麼樣的問題/問題,這種做法? (我還沒有意識到)。
  • 有更好的非css解決方案嗎?
  • 好吧,不太重要的是,爲什麼gxt人不會提供匹配的標籤小部件(沒有令人討厭的邊界由禁用的灰色文本字段模擬),因爲我們仍然必須使用gwt:Label來實現此目的?

回答

2

1)更好的方法是創建自定義的CSS類併爲<g:Label ui:field="nameValue" />命名,所以將來它將很容易改變。

2)不,沒有其他好的解決方案。因爲這是一個CSS問題,所以你必須通過CSS來解決它。你應該爲此創建自己的小部件。

GWT中的標籤小部件只是將其呈現爲DIV而不是HTML標籤元素,從而使其與塊佈局一起顯示。