0

我有这个带有@UiConstrutor注释的组件:

@UiConstructor
public SearchWidget(Widget filterWidget, Widget resultWidget) {
  ...
}

在 ui.xml 中,我必须编写如下内容:

<SearchWidget filterWidget="" resultWidget=""/>

问题是我希望能够在 ui.xml 中构建一个复杂的小部件并在<SearchWidget>标签中使用,例如:

<with field="filterWidget">
  <Widget>
  ...
  </Widget>
</with>

<With field="resultWidget">
  <Widget>
  ...
  </Widget>
</with>

然后像这样使用它:

<SearchWidget filterWidget="{filterWidget}" resultWidget="{resultWidget}"/>

它们是现有的接近语法吗?

4

1 回答 1

3

可以尝试使用@UiChild注解(如果可以用对应的方法替换构造函数依赖的话)。请参阅相应的 javadoc示例。

两种新方法:

@UiChild SearchWidget#addFilterWidget(Widget w)
@UiChild SearchWidget#addResultWidget(Widget w)

UiBinder(您需要p为您的自定义小部件声明新的命名空间):

<p:SearchWidget>
    <p:filterWidget><p:Widget>...</p:Widget></p:filterWidget>
    <p:resultWidget><p:Widget>...</p:Widget></p:resultWidget>
</p:SearchWidget>
于 2013-08-05T14:54:53.043 回答