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()
不会重置该选项。
我知道这会变得非常复杂,尤其是分页结果。我只是想在论坛上问这个问题,以防有更好的方法来解决这个问题。