Как настроить компонент планировщика Syncfusion React?

#css #reactjs #scheduler #syncfusion #ej2-syncfusion

#css #reactjs #планировщик #syncfusion #ej2-syncfusion

Вопрос:

Я использую компонент @syncfusion / ej2-react-schedule в своем приложении React. Я пытался изменить пользовательский интерфейс по умолчанию, но ничего не работает. В Google нет сообщения об этом, и их документы сбивают меня с толку.

Мой вопрос: как мне изменить внешний вид компонента по умолчанию? Например, изменить цвет фона или добавить эффект наведения…

 import { ScheduleComponent, HeaderRowDirective, HeaderRowsDirective, TimelineMonth, Inject, ViewsDirective, ViewDirective, DragAndDrop, Resize } from '@syncfusion/ej2-react-schedule';
import './Timeline.css';

export default function Timeline() {
    return (
        <div className='timeline'>
            <ScheduleComponent width='100%' height='100%' allowDragAndDrop={true}>
                <HeaderRowsDirective>
                    <HeaderRowDirective option='Month'/>
                    <HeaderRowDirective option='Date'/>
                </HeaderRowsDirective>
                <ViewsDirective>
                    <ViewDirective option='TimelineMonth' interval={12}/>
                </ViewsDirective>
                <Inject services={[TimelineMonth, Resize, DragAndDrop]}/>
            </ScheduleComponent>
        </div>
    );
}
 

Я пробовал className. Я также пытался проверить элементы и получить их имя, а затем использовать их имя в файле css, но ничего не работает

Ответ №1:

Привет от службы поддержки Syncfusion.

Мы проверили ваше требование с нашей стороны и подготовили образец на его основе, используя приведенный ниже CSS и фрагменты кода.

CSS:

 .e-schedule .e-schedule-toolbar .e-toolbar-items.e-tbar-pos,
.e-schedule .e-timeline-month-view .e-header-month-cell,
.e-schedule .e-timeline-month-view .e-header-week-cell,
.e-schedule .e-timeline-month-view .e-header-cells,
.e-schedule .e-timeline-month-view .e-work-cells  {
    background-color: #ffd9df !important;
}

.e-schedule .e-toolbar .e-toolbar-items .e-toolbar-item .e-tbar-btn.e-btn,
.e-schedule .e-timeline-month-view .e-work-cells.custom {
    background-color: pink !important;
}
 

Index.js:

 onHover(args) {
  if (args.element.classList.contains('e-work-cells')) {
    let workCells = document.querySelectorAll(".e-work-cells");
    [].forEach.call(workCells, function (ele) {
      ele.classList.remove("custom");
    });
    args.element.classList.add('custom');
  }
}
 

Образец: https://stackblitz.com/edit/react-header-rows-material-theme-1rcxrc?file=index.js

А также сообщим вам, что мы можем изменить пользовательский интерфейс планировщика, используя темы. Мы подготовили для вас образцы ткани и высококонтрастной темы, которые можно просмотреть по ссылкам ниже.

Тканевая тема: https://stackblitz.com/edit/react-header-rows-fabric-theme-ygtrxs?file=index.html Высококонтрастная тема: https://stackblitz.com/edit/react-header-rows-highcontrast-theme ?file=index.html UG: https://ej2.syncfusion.com/react/documentation/appearance/theme/#theming

Пожалуйста, перейдите по приведенным выше ссылкам и дайте нам знать, если вам понадобится дополнительная помощь.

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

1. Спасибо за поддержку. Это именно то, с чем я боролся.

2. На самом деле у меня есть еще 1 вопрос. Как мне изменить эту «рамку тени окна-снизу» под панелью инструментов e.schedule? (с использованием css)

3. Также как мне изменить эту границу размером 1 пиксель вокруг компонента schdule?

4. Мы можем изменить значения CSS, используя приведенный ниже фрагмент кода. Пожалуйста, измените его в соответствии с вашими требованиями. .e-schedule { border: 0px solid rgba(0, 0, 0, 0.12) !important; } .e-schedule .e-schedule-toolbar { border-bottom: 0 !important; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15) !important; } Пример: [ stackblitz.com/edit /… УГ: [ ej2.syncfusion.com/react/documentation/schedule/getting-started / … Пожалуйста, дайте нам знать, если вам понадобится дополнительная помощь.