有条件地从角度中的完整日历中删除事件时间

问题描述 投票:0回答:1

我正在使用此代码在完整日历中呈现事件

     calendarOptions: CalendarOptions = {
       height:650,
       initialView: "timeGridWeek",
       scrollTime: this.currentdateTime,
     };


   this.calendarOptions = {
   initialView: 'timeGridWeek',
   timeZone: 'utc',
   dateClick: this.onDateClick.bind(this),
   showNonCurrentDates: false,
   datesSet: this.handleMonthChange,
   events: function(fetchInfo, successCallback, failureCallback) { 
   return {
                  ...x,
                  start: date, 
                  startStr:date,
                  endStr:date,
                  end: date, 
                  allDay:true,
                  isEventeditable:false,
                  backgroundColor:color,
                  borderColor:color
                };

我想有条件地隐藏

12:00 AM
我尝试过的特定事件的时间

displayEventTime: false

但这将从所有活动中删除时间

angular calendar fullcalendar fullcalendar-5
1个回答
0
投票

您可以在事件中添加自定义属性,例如“_birthDay”

return {
    _birthDay:true,      
    start: date, 
    startStr:date,
    endStr:date,
    end: date, 
    allDay:true,
    isEventeditable:false,
    backgroundColor:color,
    borderColor:color
};

eventContent: function(arg) {      
    if(arg.event.extendedProps._birthDay == true) 
      return { html: arg.event.title };
    else return;
    // or you can create and return html elements as array with domNodes
    // return { domNodes: arrayOfDomNodes }
}

当您将 eventContent 放入 fullCalendar 选项中时,它会充当检查每个事件的中间件。您可以检查内部的事件日期,或者从数据源中放置一个预定义的属性,例如“_birthDay”,并使用“event.extendedProps”对象访问它。 与“否则返回;”意味着以默认模式呈现此事件。像往常一样输入时间和标题。如果你“返回 false”,它不会在该事件中呈现任何内容。 有关内容注入的更多信息

© www.soinside.com 2019 - 2024. All rights reserved.