java zk mvvm clear datebox并执行@command

时间:2013-10-07 07:28:16

标签: java mvvm zk datebox

我正在尝试使用日期框制作过滤器。 如果未插入日期,则不会将其添加到查询中。 插入日期后,他将从此日期算起。

这一切都非常好,我唯一的愚蠢小问题是我有一个清除日期的按钮。 或者我使用@command(...)并将我的queryObject.date设置为null,将更新我的搜索正确但是日期仍然在日期框中。 (我不想在日期框中使用自动装配)

或者我执行searchBeginDate.setText(null)并且文本消失但是我的列表没有刷新。

我必须做什么选择呢?

编辑:项目的示例代码。

 <datebox id="searchBeginDate" value="@bind(vm.loggingVmQueryObject.beginDate)" onOK="@command('filter')" />
 <button onClick="searchBeginDate.setText(null);vm.loggingVmQueryObject.setBeginDate(null)"  image="/img/delete.PNG" />

这会对日期框进行删除,但列表不会刷新。

<datebox id="searchBeginDate" value="@bind(vm.loggingVmQueryObject.beginDate)" onOK="@command('filter')" />
<button onClick="@command('clearBeginDate')"  image="/img/delete.PNG" />

这样刷新列表是正确的,在代码中loggingVmQueryObject.beginDate设置为null但日期框仍然显示最后设置的日期。

Greetz chill。

1 个答案:

答案 0 :(得分:2)

你告诉我代码,我展示了一个解决方案;)

在zul

<datebox id="searchBeginDate" value="@bind(vm.loggingVmQueryObject.beginDate)" onOK="@command('filter')" />
<button onClick="@command('clearBeginDate', date = searchBeginDate)"  image="/img/delete.PNG" />

在java中

public void clearBeginDate(@BindingParam("date")Datebox date){
//your other code here
date.setText(null);

}