Здесь я использую загрузочную нг и угловую 6 для встроенного выбора даты.Здесь я устанавливаю даты программно до сих пор, это хорошо, но проблема заключается в том, что, когда я устанавливаю последние 7 дней до даты, она должна отображаться с даты как 02-9-2018 и до 17-09-2018.Вот проблема: когда я отображаю дату в отдельном календаре, дата «От» отображается в календаре 1, а дата «До» в календаре 2.
Теперь я пытаюсь выяснить,как я могу отобразить только один календарь?Я имею в виду, если последние 7 дней или последние 15 дней или месяц находятся в одном и том же месяце, то это не должно отображаться в другом календаре.Если он не в текущем месяце, то он должен отображать 2 даты в разных календарях.
Ниже мой код:
.ts code
dateSelect(event, dpp, dpt) {
var target = event.target || event.srcElement || event.currentTarget;
var idAttr = target.attributes.id;
var value = idAttr.nodeValue;
if (value == 'seven') {
var fromDate = {
'year': "2018",
'month': "9",
'day': "10"
};
for (let property in fromDate) {
if (fromDate.hasOwnProperty(property)) {
fromDate[property] = +fromDate[property];
}
}
this.OneModel = fromDate;
dpp.navigateTo(this.OneModel);
this.TwoModel = this.calendar.getToday();
dpt.navigateTo(this.TwoModel);
console.log(this.OneModel);
}
if (value == 'fifteen') {
var fromDate = {
'year': "2018",
'month': "9",
'day': "02"
};
for (let property in fromDate) {
if (fromDate.hasOwnProperty(property)) {
fromDate[property] = +fromDate[property];
}
}
this.OneModel = fromDate;
dpp.navigateTo(this.OneModel);
this.TwoModel = this.calendar.getToday();
dpt.navigateTo(this.TwoModel);
console.log(this.OneModel);
}
if (value == 'thirty') {
var fromDate = {
'year': "2018",
'month': "9",
'day': "18"
};
for (let property in fromDate) {
if (fromDate.hasOwnProperty(property)) {
fromDate[property] = +fromDate[property];
}
}
this.OneModel = fromDate;
dpp.navigateTo(this.OneModel);
this.TwoModel = this.calendar.getToday();
dpt.navigateTo(this.TwoModel);
console.log(this.OneModel);
}
if (value == 'month') {
var fromDate = {
'year': "2018",
'month': "9",
'day': "01"
};
for (let property in fromDate) {
if (fromDate.hasOwnProperty(property)) {
fromDate[property] = +fromDate[property];
}
}
this.OneModel = fromDate;
dpp.navigateTo(this.OneModel);
this.TwoModel = this.calendar.getToday();
dpt.navigateTo(this.TwoModel);
console.log(this.OneModel);
}
}
.html код
<ngb-datepicker #dpp [(ngModel)]="OneModel" (navigate)="dates = $event.next"></ngb-datepicker>
<ngb-datepicker #dpt [(ngModel)]="TwoModel" (navigate)="datess = $event.next"></ngb-datepicker>
<button type="button" class="btn btn-primary btn-space" (click)="dateSelect($event,dpp,dpt)" id="seven">Last 7 Days</button>
<button type="button" class="btn btn-primary btn-space" (click)="dateSelect($event,dpp,dpt)" id="fifteen">Last 15 Days</button>
<button type="button" class="btn btn-primary btn-space" (click)="dateSelect($event,dpp,dpt)" id="thirty">Last 30 Days</button>
<button type="button" class="btn btn-primary btn-space" (click)="dateSelect($event,dpp,dpt)" id="month">This Month</button>
Моя рабочая stackblitz
URL
angular-sfngdu