ZK 8.5.0 如何覆盖按钮小部件 setLabel 功能

Button 小部件的 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 我已经尝试了上述网站链接中的“指定您自己的小部件类”部分,但浏览器将处于挂起状态。


请帮忙,谢谢。


Qyouu
浏览 73回答 1
1回答

梵蒂冈之花

我更喜欢不同的方法。为什么不使用<button&nbsp;label="@load(vm.xyz)"&nbsp;...&nbsp;/>(我使用 MVVM 模式编写)并在单击操作中修改变量 xyz?查看http://books.zkoss.org/zk-mvvm-book/8.0/syntax/load.html以获取实施指南。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java