community增加事件详情

This commit is contained in:
2026-01-07 16:07:32 +08:00
parent a8530a91a2
commit 163b27ac7c

View File

@@ -279,6 +279,31 @@ export const FullCalendarPro: React.FC<FullCalendarProProps> = ({
dataMapRef.current = dataMap;
}, [dataMap]);
// 当数据变化时,更新所有已挂载的单元格内容
useEffect(() => {
if (!calendarRef.current) return;
// 获取所有日期单元格并更新内容
const calendarEl = calendarRef.current.getApi().el;
const dayCells = calendarEl?.querySelectorAll('.fc-daygrid-day');
dayCells?.forEach((cell: Element) => {
const dateAttr = cell.getAttribute('data-date');
if (!dateAttr) return;
const date = new Date(dateAttr);
const dateStr = dayjs(date).format('YYYYMMDD');
const dateData = dataMapRef.current.get(dateStr);
const isToday = dayjs(date).isSame(dayjs(), 'day');
// 找到 day-top 容器并更新内容
const dayTop = cell.querySelector('.fc-daygrid-day-top');
if (dayTop) {
dayTop.innerHTML = createCellContentHTML(date, dateData, isToday);
}
});
}, [dataMap]);
// 处理日期点击
const handleDateClick = useCallback((arg: { date: Date; dateStr: string }) => {
const dateStr = dayjs(arg.date).format('YYYYMMDD');
@@ -396,15 +421,6 @@ export const FullCalendarPro: React.FC<FullCalendarProProps> = ({
);
}, []);
// 当数据变化时,需要重新渲染日历
useEffect(() => {
if (calendarRef.current) {
const api = calendarRef.current.getApi();
// 触发重新渲染
api.render();
}
}, [data]);
return (
<Box
height={height}