gpt4 book ai didi

gwt - 使用 GWT,有没有办法不加载在 uibinder xml 文件中声明的小部件?

转载 作者:行者123 更新时间:2023-12-04 22:08:23 25 4
gpt4 key购买 nike

我对 GWT 的一个常见设计是创建一个包含两个 child 的小部件:A 和 B。

我在与我的主小部件关联的 uibinder 文件中声明了这两个小部件 A 和 B。

我想做的是根据 if 语句加载或不加载小部件 A。

理想的方法是为小部件 A 设置 provided=true 并在我不想加载此小部件时将小部件 A 设置为 null。但是 GWT 会抛出一个错误。

有没有办法在 uibinder 中声明小部件然后不加载它们?

谢谢

编辑:经过大量讨论,理想的方法是在可选=true 时声明字段“provided=true”和“optional=true”,如果字段为空,createAndBindUI 不得抛出异常。这是一种干净的方法。

如果您认为 GWT 中一定存在此功能,请给本期加星标: http://code.google.com/p/google-web-toolkit/issues/detail?id=5699

编辑 2:使用 Thomas 描述的 LazyPanel 似乎是处理此问题的更好方法。

最佳答案

我偶然发现了 GWT 问题,这让我走到了这里,所以这是 20 个月后我对它的看法。

使用 LazyPanel 并将其设置为 visible="false" 以便在您需要它时才构建它的内容(只需调用 setVisible(true) 来显示它,触发其内容的惰性初始化。

LazyPanel 与 UiBinder 完全集成,因此您可以在同一个 UiBinder 模板中声明其内容,就好像它是一个 SimplePanel,甚至无需创建 懒惰面板。参见 https://developers.google.com/web-toolkit/doc/2.4/DevGuideUiBinder#Lazy

关于gwt - 使用 GWT,有没有办法不加载在 uibinder xml 文件中声明的小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4325400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com