gpt4 book ai didi

angular - 一个单元格上有多个徽章 - Angular Calendar

转载 作者:行者123 更新时间:2023-12-04 01:22:49 24 4
gpt4 key购买 nike

我正在使用 Angular 日历 https://github.com/mattlewis92/angular-calendar我希望每个单元格有多个徽章,每个徽章都在柜台中用于不同类型的事件。有不同类型的事件(使用事件中的元属性)。我在处理一天的事件所用的计数器时遇到了困难。

这就是我想要的结果。

result i want

编辑:这是我尝试过的

我使用日历单元格的这个自定义模板来添加徽章。

<ng-template #customCellTemplate let-day="day" let-locale="locale">
<div class="cal-cell-top">
<span style="background-color: grey" class="cal-day-badge" *ngIf="day.badgeTotal > 0">{{ day.badgeTotal }}</span>
<span class="cal-day-number">{{ day.date | calendarDate:'monthViewDayNumber':locale }}</span>
</div>
<div>
<span class="cal-day-badge" *ngIf="day.badgeTotal > 0">{{countErrors()}}</span>
<span style="background-color: green" class="cal-day-badge" *ngIf="day.badgeTotal > 0">{{ countSuccesses() }}</span>
<span style="background-color: orange" class="cal-day-badge" *ngIf="day.badgeTotal > 0">{{ countWarnings() }}</span>
</div>
</ng-template>

countErrors() countWarnings()countSuccesses() 三个函数统计相同类型事件(错误或成功)的数量或警告)。

事件类型由 meta 属性指定:

{
start: subDays(startOfDay(new Date()), 1),
end: addDays(new Date(), 1),
title: 'A 3 day event',
color: colors.red,
actions: this.actions,
allDay: true,
resizable: {
beforeStart: true,
afterEnd: true
},
draggable: true,
meta : {
type : 0
}
},

当我运行它时,这就是我得到的:

result i have

我认为第一天进行了一次计数,其他所有天都得到了相同的结果。

编辑:这是我在模板中调用的函数

countErrors(): number {
let count = 0;
this.events.filter(event => {
if (event.meta.type === 0) {
count++;
}
})
return count;
}

三个函数是一样的。唯一的区别是 if 条件:更改事件类型 0 1 2。

最佳答案

我回来只是说我正在寻找的东西已经在 Angular 日历演示中作为组月 View 事件的示例。见这里:https://mattlewis92.github.io/angular-calendar/#/group-month-view-events我仍然必须使用提供的 css 自定义单元格模板:

<ng-template #customCellTemplate let-day="day" let-locale="locale">
<div class="cal-cell-top">
<span class="cal-day-badge" *ngIf="day.badgeTotal > 0">{{ day.badgeTotal }}</span>
<span class="cal-day-number">{{ day.date | calendarDate:'monthViewDayNumber':locale }}</span>
</div>
<div class="cell-totals">
<span
*ngFor="let group of day.eventGroups"
class="badge badge-{{ group[0] }}">
{{ group[1].length }}
</span>
</div>
</ng-template>

然后我传递了这个自定义模板,例如:

<mwl-calendar-month-view
*ngSwitchCase="'month'"
[viewDate]="viewDate"
[events]="events"
[cellTemplate]="customCellTemplate"
(beforeViewRender)="beforeMonthViewRender($event)"
[activeDayIsOpen]="true">
</mwl-calendar-month-view>

它的显示如下: screenshot

关于angular - 一个单元格上有多个徽章 - Angular Calendar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53063562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com