如何在 React 大日历中禁用事件 select

how to disable event select in react big calender

我想为 clickEvent 禁用一个事件我在 React 大日历中有 2 种类型的事件(假期和休假)。我使用绿色显示休假事件,使用红色显示假期事件。我只想更新假期事件,所以我的问题是如何禁用叶子事件,以便当我单击它时,它不应该打开任何类型的表单来更新。 我用过这个代码

<Calendar
  selectable
  onSelectSlot={this.toggleAddModal}
  onSelectEvent={this.toggleEditModal}
  events={list}
  startAccessor="start"
  endAccessor="end"
  defaultDate={moment().toDate()}
  localizer={localizer}
  eventPropGetter={event => {
    const eventData = list.find(ot => ot.id === event.id);
    const backgroundColor = eventData && eventData.color;
    return { style: { backgroundColor } };
  }}
/>

onSelectEvent={this.toggleEditModal} 这是我打开 EditEvent 对话框的道具。

events={list} 

假期和假期的绑定事件列表是这样的const list = [...holidays, ...leaves]

提前谢谢你。

通过将 toggleEditModal 更新为这个解决了这个问题

toggleEditModal = event => {
        if (event.type == 'holiday') {
            if (!this.state.isAddModalOpen) {
                let fields = this.state.fields;
                fields['is_restricted'] = event.resource;
                fields["occasion"] = event.title;
                fields['for_date'] = event.start;
                fields['id'] = event.id;
                this.setState({
                    fields,
                    currentEvent: event,
                    isEditModalOpen: !this.state.isEditModalOpen,
                });
            }
        }
    };