Полный календарь событий перетаскивания -> Uncaught TypeError: Невозможно прочитать свойство isWithinClipping из неопределенного - PullRequest
0 голосов
/ 25 марта 2020

Я реализую fullcalendar.io в моем проекте React. js. Когда я перетаскиваю событие, иногда я получаю эту ошибку, может кто-нибудь сказать мне, в чем проблема?

Uncaught TypeError: Cannot read property 'isWithinClipping' of undefined
    at HitDragging.queryHitForOffset (static/js/0.chunk.js:14463)
    at HitDragging.handleMove (static/js/0.chunk.js:14427)
    at EmitterMixin.HitDragging.handleDragMove (static/js/0.chunk.js:14360)
    at applyAll (static/js/0.chunk.js:1629)
    at EmitterMixin.triggerWith (static/js/0.chunk.js:4885)
    at EmitterMixin.trigger (static/js/0.chunk.js:4879)
    at EmitterMixin.FeaturefulElementDragging._this.onPointerMove (static/js/0.chunk.js:14113)
    at applyAll (static/js/0.chunk.js:1629)
    at EmitterMixin.triggerWith (static/js/0.chunk.js:4885)
    at EmitterMixin.trigger (static/js/0.chunk.js:4879)
    at HTMLDocument.PointerDragging.handleMouseMove (static/js/0.chunk.js:13229)

Этот метод используется, когда пользователь изменяет размер указанного события c:

eventResize = arg => {
    let event = {
        id: arg.event.id,
        start_date: arg.event.start,
        end_date: arg.event.end,
        allDay: arg.event.allDay
    };

    this.setState(prevState => (
        {
            events: prevState.events.map(
                specificEvent => specificEvent.id === event.id ? {
                    ...specificEvent,
                    start: event.start_date,
                    end: event.end_date,
                    allDay: event.allDay
                } : specificEvent
            )
        }));


};

Здесь также есть параметры для компонента FullCalendar, последний параметр предназначен для перетаскивания события - EventDrop, этот параметр я получил из официального документа

<FullCalendar
                            defaultView="dayGridMonth"
                            eventTimeFormat={{
                                hour: '2-digit',
                                minute: '2-digit',
                                hour12: false,
                                meridiem: false
                            }}
                            displayEventEnd={true}
                            timeZone={'local'}
                            defaultDate={new Date()}
                            firstDay={1}
                            header={{
                                left: 'dayGridMonth,timeGridWeek,timeGridDay',
                                center: 'title',
                                right: 'prev,next today'
                            }}
                            businessHours={[ // specify an array instead
                                {
                                    daysOfWeek: [1, 2, 3, 4, 5],
                                    startTime: '08:00', // 8am
                                    endTime: '18:00' // 6pm
                                },

                            ]}
                            plugins={[dayGridPlugin, timeGridPlugin, interactionPlugin, bootstrapPlugin, listPlugin]}
                            themeSystem={"bootstrap"}
                            events={this.state.events}    
                            eventRender={this.eventRender}    
                            dateClick={this.handleDateClick}
                            eventResize={this.eventResize}
                            eventClick={this.eventClicked}    
                            selectMirror={true}
                            weekNumbers={true}
                            weekNumbersWithinDays={true}
                            selectable={true}
                            editable={true}
                            unselectAuto={true}
                            nowIndicator={true}
                            eventDrop={this.eventResize}
                        />

Ответы [ 2 ]

0 голосов
/ 14 апреля 2020

Я исправляю это, добавляя «return true» внутри моей функции eventDragStart

0 голосов
/ 25 марта 2020

В компоненте есть несколько подтвержденных ошибок, вызвавших эту ошибку:
Первая выглядит как ваша ошибка
https://github.com/fullcalendar/fullcalendar/issues/5001 - Ошибка при изменении validRange из eventDragStart https://github.com/fullcalendar/fullcalendar/issues/4817 - вызовы для повторного рендеринга ресурсов при выборе / перетаскивании / изменении размера приводят к ошибке
Всегда go сначала в репо используемой библиотеки и смотрите там в открытых и закрытых выпусках
Добро пожаловать в тупик веб-разработки; -)

...