Обновить данные на странице 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 приведет к обновлению вашего списка или сетки соответственно.

Другие вопросы по тегам