我有一个MVVM对话框,其中列出了来自DB的用户。有一个添加按钮点击,它打开一个模式(这是MVC)。添加用户时,模态关闭。但是被添加的用户没有被填充到父对话框中,父对话框调用了addusermodal。是否有任何方法可以在数据更改时填充MVVM,而无需调用另一个方法或刷新页面?
您可以使用Global-Command
。
在关闭模态窗口之前:
BindUtils.postGlobalCommand(null,null,"refreshUsers",null);
和用户列表的ViewModel中的
@GlobalCommand
@NotifyChange("users")
public void refreshUsers(){}
注意:我假设你有一个方法getUsers
。否则将users
重命名为用户的正确getter
在您的视图模型中,而不是使用java.util.List
为您的用户,您可以简单地使用org.zkoss.zul.ListModelList
以这种方式,添加或删除项目到您的listmodelellist将导致您的列表框或网格相应的更新。