ZK 8.5.0如何覆盖按钮窗口小部件setLabel函数



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用于实施指南。

最新更新