我与GWT的一个常见设计是创建一个包含两个孩子的小部件:A和B.
我在与我的主要小部件相关联的uibinder文件中声明了这两个小部件A和B.
我想要做的是根据if语句加载或不加载小部件A.
理想的方法是为widget A设置provided = true,并在我不想加载这个widget时将widget A设置为null.但是GWT会引发错误.
有没有办法在uibinder中声明小部件然后不加载它们?
谢谢
编辑:经过大量讨论后,理想的方法是在optional = true时声明字段“provided = true”和“optional = true”,如果字段为null,则createAndBindUI不能抛出异常.这是一种干净的方法.
如果您认为GWT中必须存在此功能,请为此问题加注星标:
http://code.google.com/p/google-web-toolkit/issues/detail?id=5699
编辑2:使用托马斯描述的LazyPanel似乎是一种更好的方法来处理这个问题.