繁体   English   中英

如何为GWT DecoratedTabPanel实现复合视图/演示器?

[英]How to implement a Compound View/Presenter for a GWT DecoratedTabPanel?

我是GWT的新手,并且我一直在审查使用rpcService和eventBus的MVP实现。 我想知道如何实现选项卡面板,以便每个选项卡都有自己的子视图。 我一直在摸索制作从面板派生的自定义小部件,或者弄清楚如何使演示者使用其他演示者,或者使复合演示者类能够为我处理所有这些事情。

是否有人对如何将每个选项卡的功能分开(而不是将实现保留在一个视图/演示者对中)提出建议?

我当时处在相同的情况,但是决定更改我的实现以模拟 TabPanel。 如果您的视图和演示者不需要彼此交互(例如,将某物从一个选项卡拖动到另一个选项卡),那么我认为将视图加载到共享的SimplePanel中会更容易实现功能分离。 您可以使用一个小部件来模拟TabPanel的选项卡式部分,该小部件侦听PlaceChangeEvents(以更改突出显示的选项卡),并将goTo命令发送到您的应用程序正在使用的PlaceController(以处理对不同标题的单击)。

它花了几个小时才能实现,并且生成的代码更加简洁。 我的最初尝试包括侦听PlaceChangeEvents,然后调用适当的tabPanel.selectTab()函数,但是试图弄清楚如何启动和停止不同选项卡的演示者太混乱了-如您的建议,您必须实现您自己的复合视图模型。

我没有伪造一个主选项卡即可解决此问题,而是使用GWT基本SDK随附的选项卡。 我这样做是:

  1. 将演示者的数组列表添加到MainTabPresenter
  2. 在MainTabPresenter的'go'方法中构造每个选项卡的当前加视图
  3. 在每个标签演示器上称为“ go(null)”。
  4. 处理每个上的空情况。
  5. 在MainTabView中实现了将标签添加到DecoratedTabPanel的方法

这一切都像一个魅力。 MainTabPresenter非常薄,可以将View / Presenters的完整实现写入自己的文件中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM