Пользовательские кнопки заголовка FullCalendar React не отображаются

#reactjs #fullcalendar #fullcalendar-4

#reactjs #полный календарь #полный календарь-4

Вопрос:

Я пытаюсь добавить некоторые значки в заголовок в виде кнопок, я пробовал использовать как bootstrap, так и fontawesome, как указано в документах, но вместо значка я получаю пустой квадрат. При использовании темы начальной загрузки я получаю ‘undefined’, при использовании стандарта я получаю следующее.

Вот мой код:

 
const customButtons = { 
    custom1: { 
        icon: "fa-times", 
        click: function() { 
            alert('test');
        }
    }
} 

<CustomCalendar
       customCalendarRef={customCalendarRef}
       select={(e: any) => processClick(e)}
       customButtons={customButtons}
       themeSystem="standard"
       header={{
             right: '',
             center: '',
             left: 'prev,next today custom1'
       }}
/>

  

Результат:

введите описание изображения здесь

Как я могу отобразить значок в виде кнопки в заголовке?

Ответ №1:

Я также использую fullcalendar в своем приложении react, поэтому я попытался использовать ваш код. Во-первых, вы забыли одну вещь, для которой fontawesome icons также нужен класс «fa», поэтому правильным было бы fa fa-times , а не только fa-times .

Но тогда есть еще одна проблема, которая заключается в том, что значок поставляется с пользовательскими классами fullcalendar при визуализации:

введите описание изображения здесь

Таким образом, решение, которое вы могли бы использовать, — это добавить это где-нибудь в свой css:

 .fc-icon.fa {
   font: normal normal normal 14px/1 FontAwesome !important;
}
  

У меня это сработало:

введите описание изображения здесь

Отредактировано:

Строка классов fontawesome должна начинаться с пробела, иначе класс ‘fa’ будет объединен с классом fullcalendar. Итак: icon: ' fa fa-times'

Комментарии:

1. Я добавил fa к названию значка и добавил css, теперь я получаю маленький белый квадрат внутри кнопки. Когда я проверяю имя класса, я получаю кое-что, немного отличающееся от вашего, я получаю fc-icon fc-icon-fa fa-times . Ваш fa отделен от значка. Дело в том, что другие значки, такие как стрелки влево и вправо, работают, но этот пользовательский не будет. Итак, я подумал, может быть, мне не хватает таблицы css, но тогда стрелки тоже не будут работать, верно?

2. Я по-прежнему получаю тот же белый квадрат, если бы я был нацелен непосредственно на сгенерированные классы css .fc-icon.fc-icon-fa.fa-times

3. привет, Nats, я забыл сказать вам, что строка классов fontawesome должна начинаться с пробела, иначе класс ‘fa’ будет объединен с классом fullcalendar. Итак: icon: ' fa fa-times'

4. Я пробовал это, но я все еще получаю маленький белый квадрат. Однако я заметил эту ошибку в браузере: calendar:1 GET chrome-extension://hfapbcheiepjppjbnkphkmegjlipojba/fonts/fontawesome-webfont.woff2 net::ERR_FILE_NOT_FOUND . Возможно, не удается получить доступ к файлам шрифтов?

5. Используете ли вы определенную таблицу стилей?