3

我是 GWT 的新手,正在尝试制作一个简单的应用程序(如 fmylife 的小版本)。到目前为止,我制作了一个加载事实的复合材料和另一个具有提交新事实的表单的复合材料(这个复合材料有一个清除列表并再次填充的加载方法)。

我有一个按钮,当你按下它时,它会显示一个带有表单的窗口。该表格用于添加新的事实。但是当事实正确添加并关闭此窗口时,我想刷新主页。

我该怎么做?我应该将某种回调传递给 Window 表单吗?

编辑:我表达的不够好,WindowDialogBoxsmartGWT提供的。

4

4 回答 4

2

看看事件和事件总线

您也可以观看视频以获得更好的解释。

于 2010-07-20T12:11:34.570 回答
1

当然,为什么不呢?使用诸如 onSave 之类的方法将回调传递给 DialogBox 中包含的组合。以这样一种方式设计流程,即 DialogBox 组合始终在编辑事实模型,并且它不知道是创建新的事实模型还是编辑现有的事实模型。当用户提交弹出窗口时,让 DialogBox 使用回调调用 onSave。

将事实收集数据结构 CRUD 逻辑保留在 DialogBox 组合之外。

于 2010-07-20T04:19:01.307 回答
0

您应该使用DialogBoxorPopupPanel而不是打开一个新窗口(大多数现代浏览器都选择以任何一种方式打开一个新选项卡)。这样你就不会离开页面(这就是这个 AJAX 事情的全部意义,对吧?),你只需在它上面覆盖一个新的小部件,然后在“提交”时它会隐藏/销毁自己并添加一个新的事实(无需重新加载整个页面)。

于 2010-07-19T22:03:26.723 回答
0

同意上面的DialogBoxPopupPanel解决方案。但是,如果您仍想使用Window,请考虑以下解决方案。

扩展Window并提供挂钩到您想要返回的值。然后,当您创建新的 时CustomWindow,调用该方法以在关闭addWindowCloseHandler时得到通知。CusomWindow在该事件中,获取您需要的值并允许关闭窗口。然后进行异步调用以刷新您的主页。

于 2010-07-19T22:08:26.217 回答