Обновить данные на странице MVVM после модального закрытия (записано в MVC)
У меня есть диалог MVVM, в котором перечислены пользователи из БД. При нажатии на кнопку "Добавить" открывается модальное окно (в MVC). При добавлении пользователя модал закрывается. Но добавленный пользователь не заполняется в родительском диалоговом окне, которое вызвало модальное добавление пользователя. Есть ли способ заполнить MVVM при изменении данных без необходимости вызова другого метода или обновления страницы?
2 ответа
Вы могли бы использовать Global-Command
,
перед тем, как закрыть модальное окно:
BindUtils.postGlobalCommand(null,null,"refreshUsers",null);
и в вашей ViewModel из списка пользователей:
@GlobalCommand
@NotifyChange("users")
public void refreshUsers(){}
Примечание: я предполагаю, что у вас есть метод getUsers
, иначе переименовать users
к правильному получателю ваших пользователей.
По вашему мнению модель вместо java.util.List
для ваших пользователей, вы можете просто использовать org.zkoss.zul.ListModelList
таким образом, добавление или удаление элементов в вашем ListModelList приведет к обновлению вашего списка или сетки соответственно.