【发布时间】:2019-08-22 19:15:18
【问题描述】:
我正在使用sap.m.DatePicker,我想更改某些月份的颜色(月份项目的背景颜色)。
我尝试在style.css 文件中更改sapUiCalItem 的背景颜色。我将这个类添加到我的 CSS 文件中,但这会改变我拥有的所有 datePicekers 的颜色。
.sapUiCalItem{
background-color: #920000;
}
然后我在 DatePicker 中添加了类
<m:DatePicker
id="datePickerId"
class="datePickerClass"
value="{period}"
valueFormat="YYYY-MM-DD"
displayFormat="MMMM yyyy"
change="onChangeDate"/>
并像这样更改 CSS
.datePickerClass.sapUiCalItem{
background-color: #920000 !important;
}
另外,我尝试添加这样的类
self.getView().byId("datePickerId").addStyleClass("datePickerClass");
但这也没有用。 sap.m.DatePicker 有没有办法给这个月上色?
【问题讨论】:
-
向 DatePicker 实例添加类是没有用的,因为月份显示在单独的弹出窗口中,从技术上讲,它位于 datepicker 的标记之外(实际上它更接近生成的 HTML 的头部) . DatePicker 有一个“受保护”的属性 this._oCalendar,从技术上讲,您可以使用它访问月份。但是,好吧,它是受保护的我认为没有简单的方法。您可以尝试将 MonthPicker 子类化并编写一个新的 MonthPickerRenderer,然后将 Calendar 子类化以使用您的新 MonthPicker,然后将 DatePicker 子类化以使用您的新日历。另外,如果您“硬编码”颜色,当用户更改主题时,您可能会遇到问题。在这种情况下最好使用语义颜色(experience.sap.com/fiori-design-web/how-to-use-semantic-colors)您使用的是哪个 UI5 版本?@inizio 我使用的是 1.68
标签: css datepicker sapui5