我有一个 GWT 表单,它会根据其中选择的内容更改某些字段。表单使用Editor、Driver GWT模块
故事是一个编辑她的个人资料的人,并说:“我是用户”或“我是卖家”(最终“我是别的东西”)所以取决于这个选择,它的形式是它自己,我想更改视图中的一些编辑器(一个人的名字,姓氏变成公司名称,税号,而许多其他字段保持不变,但改变了他们的位置)。我制作了两组 UiBinder 屏幕(每个配置文件一组)。我有一个主 UiBinder,其中包含处理这些子编辑器的复选框“我是一家公司”
到目前为止,我认为我可以做的是我有一个带有子编辑器的 ValueAwareEditor
@Path("")
@UiField
protected CompanyBasicInfo basicInfoComp;
@Path("")
@UiField
protected PersonBasicInfo basicInfoPers;
两者都由司机填写,但只有一个是可见的。
问题是我不喜欢在许多编辑器中拥有相同属性的想法,这种方法也不能暗示性能
另一方面,CompanyBasicInfo 和 PersonBasicInfo 是常规的 Editor 实现。因此,将@Ignore 放在它们上是不可能的,因为我无法在需要时对它们调用 setValue()。
另外让他们实现 ValueAwareEditor 对我来说不是很清楚,因为包含常规的编辑器小部件,所以我仍然无法在他们的字段上调用 setValue() :我只是将问题更进一步......
在视图中,我也无权访问驱动程序以再次调用 edit() 。我看了一下它是如何在列表中完成的,但是有太多新概念,我认为我不必学习所有代码就可以处理这个简单的案例
谢谢你的回答