Мы используем датчик даты ng2-bootstrap, чтобы пользователи могли выбирать несколько дат. Мы хотели бы выделить «выбранные» даты в средстве выбора. Похоже, что свойство «customClass» должно быть способом сделать это, но я не смог заставить его работать — и я не видел никаких примеров его использования. У кого-нибудь есть простой пример?
Как использовать свойство customClass ng2-bootstrap DatePicker?
Ответы (1)
Столкнулся с той же проблемой и пришлось копаться в коде на Github. В моем примере у меня есть дата начала и дата окончания, и я хочу стилизовать все дни между ними.
Я использую Moment.js, который обрабатывает большую часть логики для создания массива дней. DateRangeUtils — это настраиваемый вспомогательный класс.
Важно знать, что режим — это режим средства выбора даты (день, месяц или год). В моем примере мы используем только дневной режим.
export class CustomDayStyle {
public date: Date;
public mode: string;
public clazz: string;
constructor(date: Date, mode: string, clazz: string) {
this.date = date;
this.mode = mode;
this.clazz = clazz;
}
}
private get selectedDays(): Array<CustomDayStyle> {
var days = new Array<CustomDayStyle>();
var dateIndex = DateRangeUtils.toMoment(this.beginDate);
while (!DateRangeUtils.isAfter(dateIndex, this.endDate)) {
days.push(new CustomDayStyle(dateIndex.clone().toDate(), "day", "class-name-here"));
dateIndex.add(1, 'days');
}
return days;
}
.class-name-here {
// Your css here
}
<datepicker [(ngModel)]="beginDate" [customClass]="selectedDays" >
</datepicker>
person
Carole Rivera
schedule
24.10.2016
у вас есть образец для этого?
- person Sajeetharan; 10.02.2017
Я не могу опубликовать весь класс DateRangeUtils, так как этот пример очень специфичен для моих требований и на самом деле не имеет отношения к исходному вопросу. Это просто вспомогательный класс, который вызывает moment.js для сравнения дат. Я предлагаю добавить moment.js в ваше решение и использовать их функции в соответствии с вашими требованиями.
- person Carole Rivera; 11.02.2017