我正在尝试在点击它时更改Vaadin日历组件中的事件样式。这就是我的工作:
eventCalendar.setHandler((CalendarComponentEvents.EventClick event) -> {
/* some code to iterate the container and remove selected style from other events*/
((BasicEvent) event.getCalendarEvent()).setStyleName("event-selected");
});
但没有任何反应。该课程未添加。
答案 0 :(得分:0)
几个小时后,两个观察结果挽救了这一天:
首先,在事件本身上设置样式名称不会触发刷新,因此我们只需要将SM-G355M with Android 4.4.2
添加到处理程序方法中。
其次,eventCalendar.markAsDirty()
不会将具有该名称的CSS类添加到Calendar Event元素。它会添加一个带有setStyleName
前缀的类(例如,在我的示例中会变为.v-calendar-event-
。
因此,解决方案是对UI类进行以下更新:
.v-calendar-event-event-selected
并将以下类添加到Vaadin主题的根名称中的eventCalendar.setHandler((CalendarComponentEvents.EventClick event) -> {
/* some code to iterate the container and remove selected style from other events*/
((BasicEvent) event.getCalendarEvent()).setStyleName("selected");
eventCalendar.markAsDirty();
});
:
styles.scss