После внешнего перетаскивания resourceHeader становится пустым - PullRequest
1 голос
/ 04 марта 2020

Нам нужно удалить внешний элемент, а затем обновить данные расписания в соответствии с этим изменением, вызвав setState, но resourceHeader становятся пустыми, поскольку их шаблоны не отображаются, как следствие. Я воспроизвел ошибку в этом стеке бликов: https://stackblitz.com/edit/react-gzetyr и здесь также записанная демонстрация скриншота, показывающая это: https://i.imgur.com/wjT9APb.gifv PS: мне пришлось вызывать forceUpdate внутри setTimeout после вызова setState, потому что одного странного вызова setState было недостаточно для повторного вызова. Передать график. С наилучшими пожеланиями

Ответы [ 2 ]

2 голосов
/ 05 марта 2020

Я решил эту проблему, вызвав

this.scheduleObj.addEvent(droppedItemData);

, как в примере creation-using-addevent-method .

В этом примере addEvent вызов, кажется, не оказывает никакого влияния на расписание (не добавлено appointemnt), когда я обнаружил, что при вызове его в onTreeDragStop (как в их external-drag-drop ) после обновления dropItemData с новыми совпадающими данными, он работает, а затем в onActionBegin (как в их external-drag-drop ) и событии . requestType === 'eventCreate' будет возвращено, и там я тоже могу сделать обновление бэкэнда.

1 голос
/ 13 марта 2020

Мы проверили сообщенную проблему с нашей стороны и предлагаем вам использовать свойство delayUpdate для ее устранения.

<ScheduleComponent ref={schedule => this.scheduleObj = schedule}  delayUpdate={true} > </ScheduleComponent>



<TreeViewComponent ref={tree => this.treeObj = tree} delayUpdate={true} </ TreeViewComponent>

Образец: https://stackblitz.com/edit/react-scheduler-i268259-external-drag-and-drop-utku7n?file=index.js

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

Соединение UG (delayUpdate): https://ej2.syncfusion.com/react/documentation/common/how-to/resolve-react-template-issues/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...