如何在 ReactJS FullCalendar 包装器中屏蔽所有过去的日期?
How to block out all past dates in ReactJS FullCalendar wrapper?
我想知道如何在我的日历中屏蔽所有过去的日子,以防止用户安排约会,但我无法让它工作。
例如,今天是 11 月 8 日,我想屏蔽掉之前的所有日期。
我在网上看了很多关于如何使用其他语言执行此操作的 SO 文章,但我使用的是 ReactJS FullCalendar 包装器,它没有传递到 props 的选项来处理这个问题。我查看了那里的文档并尝试在那里玩 API 但我无法弄清楚。
这是我的代码:
import React, { useState, useEffect } from "react";
import FullCalendar from "@fullcalendar/react";
import dayGridPlugin from "@fullcalendar/daygrid";
import interactionPlugin from "@fullcalendar/interaction";
// Time Slots
const ScheduleAppointment = (props) => {
const someMethod = () => {
let calendarApi = calendarRef.current.getApi();
let changeMinDate =
(calendarApi.currentDataManager.data.dateProfile.validRange = {
start: "2021-11-08",
end: null
});
console.log("calendarapi11 is..", changeMinDate);
console.log("calendarapi222 is..", calendarApi);
};
useEffect(() => {
someMethod();
}, []);
return (
<div className="fluid-container">
<FullCalendar
plugins={[dayGridPlugin, interactionPlugin]}
initialView="dayGridMonth"
dateClick={handleDateClick}
selectable={true}
ref={calendarRef}
// this doesn't work I have to manually get into the api via refs
//validRange = {
//start: '2021-11-08',
//end: null
//}
/>
</div>
);
};
export default ScheduleAppointment;
我希望
validRange = {{
start: '2021-11-08',
end: null
}}
应该可以。
外层的 { }
s 表示 属性 值的开始和结束 - 就像它在 plugins
属性 上所做的一样。那么里面的就是包含范围数据的JS对象的一部分。
我想知道如何在我的日历中屏蔽所有过去的日子,以防止用户安排约会,但我无法让它工作。
例如,今天是 11 月 8 日,我想屏蔽掉之前的所有日期。
我在网上看了很多关于如何使用其他语言执行此操作的 SO 文章,但我使用的是 ReactJS FullCalendar 包装器,它没有传递到 props 的选项来处理这个问题。我查看了那里的文档并尝试在那里玩 API 但我无法弄清楚。
这是我的代码:
import React, { useState, useEffect } from "react";
import FullCalendar from "@fullcalendar/react";
import dayGridPlugin from "@fullcalendar/daygrid";
import interactionPlugin from "@fullcalendar/interaction";
// Time Slots
const ScheduleAppointment = (props) => {
const someMethod = () => {
let calendarApi = calendarRef.current.getApi();
let changeMinDate =
(calendarApi.currentDataManager.data.dateProfile.validRange = {
start: "2021-11-08",
end: null
});
console.log("calendarapi11 is..", changeMinDate);
console.log("calendarapi222 is..", calendarApi);
};
useEffect(() => {
someMethod();
}, []);
return (
<div className="fluid-container">
<FullCalendar
plugins={[dayGridPlugin, interactionPlugin]}
initialView="dayGridMonth"
dateClick={handleDateClick}
selectable={true}
ref={calendarRef}
// this doesn't work I have to manually get into the api via refs
//validRange = {
//start: '2021-11-08',
//end: null
//}
/>
</div>
);
};
export default ScheduleAppointment;
我希望
validRange = {{
start: '2021-11-08',
end: null
}}
应该可以。
外层的 { }
s 表示 属性 值的开始和结束 - 就像它在 plugins
属性 上所做的一样。那么里面的就是包含范围数据的JS对象的一部分。