ZK 8.5.0 如何覆盖按钮小部件 setLabel 功能
ZK 8.5.0 how to override button widget setLabel function
Button widget的ZK setLabel()函数不起作用;当代码运行到 foobutton.setLabel(mystring) 这样的行时,按钮从浏览器中消失。
在 eclipse IDE 中,如果我将鼠标悬停在 setLabel() 函数上,IDE 会显示此消息:
If label is changed, the whole component is invalidate.Thus, you want to smart-update, you have to override this method.
使用 ZK 8.5.0
在控制器内部class,我声明:
@Wire
Button delSelectedMonitor;
在控制器内部,我实现了一个 class,它实现了 EventListener:
public class onClickHolderEditMode implements EventListener{
public void onEvent(Event event) throws Exception {
clickedDivEditMode = (Div) event.getTarget();
clickedDivIdEditMode = clickedDivEditMode.getId().split(myUtil.monitorholderString)[1];
String curName = getCamNameById(clickedDivIdEditMode);
delSelectedMonitor.setLabel("DELETE:"+clickedDivIdEditMode+","+curName);
}
}
事件绑定:
tmpdiv.addEventListener("onClick", new onClickHolderEditMode());
我的期望是,当有人点击tmpdiv 时,delSelectedMonitor 按钮会根据tmpdiv 的属性 更改其标签。然而,正如我之前所说,按钮只是消失了。
https://www.zkoss.org/wiki/ZK_Client-side_Reference/General_Control/Widget_Customization
我在上面的网站link试过了"Specify Your Own Widget Class"的部分,但是浏览器会pending。
请帮忙,谢谢。
我更喜欢不同的方法。
为什么不使用
<button label="@load(vm.xyz)" ... />
(我用MVVM模式写的)在点击动作中修改变量xyz?
查看 http://books.zkoss.org/zk-mvvm-book/8.0/syntax/load.html 实施指南。
Button widget的ZK setLabel()函数不起作用;当代码运行到 foobutton.setLabel(mystring) 这样的行时,按钮从浏览器中消失。
在 eclipse IDE 中,如果我将鼠标悬停在 setLabel() 函数上,IDE 会显示此消息:
If label is changed, the whole component is invalidate.Thus, you want to smart-update, you have to override this method.
使用 ZK 8.5.0
在控制器内部class,我声明:
@Wire
Button delSelectedMonitor;
在控制器内部,我实现了一个 class,它实现了 EventListener:
public class onClickHolderEditMode implements EventListener{
public void onEvent(Event event) throws Exception {
clickedDivEditMode = (Div) event.getTarget();
clickedDivIdEditMode = clickedDivEditMode.getId().split(myUtil.monitorholderString)[1];
String curName = getCamNameById(clickedDivIdEditMode);
delSelectedMonitor.setLabel("DELETE:"+clickedDivIdEditMode+","+curName);
}
}
事件绑定:
tmpdiv.addEventListener("onClick", new onClickHolderEditMode());
我的期望是,当有人点击tmpdiv 时,delSelectedMonitor 按钮会根据tmpdiv 的属性 更改其标签。然而,正如我之前所说,按钮只是消失了。
https://www.zkoss.org/wiki/ZK_Client-side_Reference/General_Control/Widget_Customization 我在上面的网站link试过了"Specify Your Own Widget Class"的部分,但是浏览器会pending。
请帮忙,谢谢。
我更喜欢不同的方法。
为什么不使用
<button label="@load(vm.xyz)" ... />
(我用MVVM模式写的)在点击动作中修改变量xyz?
查看 http://books.zkoss.org/zk-mvvm-book/8.0/syntax/load.html 实施指南。