为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Qyouu 2022-06-23 16:11:54
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 我已经尝试了上述网站链接中的“指定您自己的小部件类”部分,但浏览器将处于挂起状态。请帮忙,谢谢。
查看完整描述

1 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

我更喜欢不同的方法。

为什么不使用

<button label="@load(vm.xyz)" ... />

(我使用 MVVM 模式编写)并在单击操作中修改变量 xyz?

查看http://books.zkoss.org/zk-mvvm-book/8.0/syntax/load.html以获取实施指南。


查看完整回答
反对 回复 2022-06-23
  • 1 回答
  • 0 关注
  • 72 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信