zk setLabel()按钮窗口小部件的函数不起作用;当代码像foobutton.setlabel(myString)一样运行到线路时,该按钮从浏览器中消失。
在Eclipse IDE中,如果我在setLabel()函数上徘徊,则IDE显示此消息:
如果更改了标签,则整个组件是无效的。
使用ZK 8.5.0
在控制器类中,我声明:
@Wire
Button delSelectedMonitor;
在控制器内部,我实现了一个实现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我在上面的网站链接上尝试了"指定您自己的小部件类"部分,但是浏览器将在待处理中。
请帮忙,谢谢。
我更喜欢一种不同的方法。
为什么不使用
<button label="@load(vm.xyz)" ... />
(我使用MVVM模式写)并在单击操作时修改变量xyz?
查看http://books.zkoss.org/zk-mvvm-book/8.0/syntax/load.html用于实施指南。