2

GXT 3.x のみ。

レイアウトの gxt フィールドペアを作成したいとしましょう

ラベル: 値

例えば、

名前:カーティゲス

「Carthyguessue」は、ユーザーが更新できない定数フィールドであり、gwt:Label を使用して影響を与えます。

したがって、ui テンプレート:

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

ただし、nameLabel と nameValue の垂直方向のオフセットの間には ~3px の不足があることを誰もが認識しているためです。

提案されたアプローチの 1 つは、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 以外のより良い解決策はありますか?
  • さて、それほど重要ではありませんが、gwt:Label をこの目的で使用しなければならないという点で、gxt 関係者が対応する Label ウィジェットを提供しないのはなぜでしょうか (無効化されたグレーアウトされたテキスト フィールドによってシミュレートされる迷惑な境界はありません)。
4

1 に答える 1

2

1) より良い方法は、カスタム CSS クラスを作成して名前を割り当てる<g:Label ui:field="nameValue" />ことです。これにより、将来変更が容易になります。

2)いいえ、他に良い解決策はありません。これは CSS の問題なので、CSS で解決する必要があります。これには独自のウィジェットを作成する必要があります。

GWT のラベル ウィジェットは、HTML のラベル要素としてではなく、単に DIV としてレンダリングされるため、ブロック レイアウトで表示されます。

于 2013-05-13T11:02:06.093 に答える