我们正在使用 gwt-presenter,但实际上并不是一个特定的问题......
我有一张桌子,里面有用户。当我在视图中构建表格时(根据演示者提供的数据),我需要在行的末尾添加两个操作按钮(“编辑”和“删除”)。
将点击处理程序分配给这些按钮以便演示者知道哪个被点击的最佳方式是什么?在此之前,我们可以将视图中的私有字段传递给演示者,并将离散的单击处理程序附加到该按钮。但是,这种方法相当死板,在这种情况下效果不佳。
提前致谢。
让视图允许订阅编辑/删除点击事件,在内部注册单个行点击事件,然后将事件处理委托给视图注册的事件处理如何?
我的意思是类似于以下伪代码:
看法:
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();
}
});