如何在 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,
});
}
}
};
我想为 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,
});
}
}
};