Как смешивать виджеты HTML и GWT с помощью UIBinder? - PullRequest
4 голосов
/ 27 июня 2011

У нас есть существующий пользовательский интерфейс, созданный с помощью UIBinder, чей файл ui.xml содержит следующую иерархию:

<ui:UiBinder>
<div>
Multiple <span> or <a> separated by verbatim HTML (like | separators).

Мне нужно заменить один из якорей списком.

Есть ли способ сделать этот переход, не заменяя div на HTMLPanel и не заменяя все якоря чем-то другим?

Если я попытаюсь вставить туда gwt: ValueListBox или gwt: ListBox, я получу сообщение об ошибке, что я не могу смешать эти два. Я также не могу иметь несколько дочерних элементов (таких как div и HTMLPanel) под UIBinder.

Если мой единственный вариант - конвертировать все в виджеты, каковы подходящие преобразования и элементы?

Ответы [ 2 ]

13 голосов
/ 27 июня 2011

В UIBinder HTMLPanel может содержать элементы HTML и виджеты GWT, но элементы HTML могут содержать только другие элементы HTML.

Просто замените верхний уровень div на HTMLPanel, затем замените толькоспецифический <a> якорь с gwt:ListBox.

1 голос
/ 14 декабря 2015

Как это

<gwt:HTMLPanel>
    <div align="center">
        <gwt:VerticalPanel res:styleName="style.background">
...