GWT / MVP:用适当的MVP模式检测表中的更改事件
题
我们正在使用gwt-photeer,但不是真正有一个特定于此的问题...
我有一个与用户的表。当我在视图中构建表(从演示者提供的数据)时,我需要在行的末尾添加两个动作按钮(“编辑”和“删除”)。
将单击处理程序分配给这些按钮的最佳方法,以便演示者知道哪个被单击?在此之前,我们可以将私有字段从查看器中的视图传递,并将离散单击处理程序连接到该按钮。但是,这种方法相当僵硬,并且在这种情况下不起作用。
提前感谢。
解决方案
具有允许订阅编辑/删除单击事件的View,在内部注册单击事件,然后将事件处理委派给视图注册的事件?
我的意思是类似于以下Pesudo代码的东西:
视图:
addRowEditClickHandler(ClickHandler handler) {
this.rowEditClickHandler = handler;
}
addRowDeleteClickHandler(ClickHandler handler) {
this.rowDeleteClickHandler = handler;
}
//... somewhere when setting up of the grid...
rowEditButton.addClickHandler = new ClickHandler() {
onClick(args) {
this.rowEditClickHandler.onClick(args)
}
rowDeleteButton.addClickHandler = new ClickHandler() {
onClick(args) {
this.rowDeleteClickHandler.onClick(args)
}
.
主持人:
View view = new View();
view.addRowEditClickHandler( new ClickHandler() {
onClick(args) {
doSomething();
}
});
view.addRowDeleteClickHandler( new ClickHandler() {
onClick(args) {
doSomething();
}
});
. 不隶属于 StackOverflow