Vaadin 12.0.3
У меня есть вспомогательный метод, который возвращает ListDataProvider
для Дней месяца. Когда пользователь меняет месяц, я вспоминаю вспомогательный метод и сбрасываю DataProvider
, чтобы отразить новый дневной диапазон.
filterDay.setDataProvider(IndexViewHelper.getCalendarDaysDataProvider(year, month));
Проблема в том, что установка DataProvider
на ComboBox
удаляет выбранный в данный момент параметр. Чтобы предотвратить это, мне нужно сделать что-то вроде этого:
var currentValue = filterDay.getValue();
filterDay.setDataProvider(IndexViewHelper.getCalendarDaysDataProvider(year, month));
if(currentValue exists in the new list) filterDay.setValue(currentValue);
Есть ли лучший способ сделать это? По сути, я хотел бы надеяться, что setDataProvider()
не сбросит выбранный в данный момент параметр, если этот параметр существует в новом списке.
Я знаю, что это может быть очень сложно, особенно с результатами подкачки. Я просто хотел спросить об этом на форуме, если есть более эффективные способы решения этой проблемы.