单击时,Vaadin日历事件选择了样式更改

时间:2016-08-21 13:11:35

标签: java vaadin

我正在尝试在点击它时更改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");
});

但没有任何反应。该课程未添加。

1 个答案:

答案 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