【发布时间】:2021-01-11 06:18:45
【问题描述】:
我正在使用 Fullcalendar 并尝试更改所选日期的颜色。
我打算怎么做:
- setState 选择日期。
- 将其作为道具传递给全日历的事件对象。
- 通过设置事件对象的显示背景属性更改选定日期单元格的颜色。
除了背景色部分,我都能得到所需的结果。
如您所见,您点击的日期有一点检查。
我想做的是改变那个单元格的背景颜色。
几乎显示here on the right side demo
这里是完整日历的代码:-
<FullCalendar
timeZone="Asia/Tokyo"
plugins={[dayGridPlugin, interactionPlugin]}
initialView="dayGridMonth"
headerToolbar={{
start: "prev",
center: "title",
right: "next",
}}
height="100%"
locale="ja"
aspectRatio={0.7}
dateClick={(dateArg: DateClickArg) => {
this.props.dateSelect(dateArg.date);
}}
longPressDelay={1}
dayCellContent={function (arg: DayCellContentArg) {
return arg.date.getDate().toString();
}}
events={[
{
title: "✔️",
allDay: true,
start: this.getSelectedDate(),
end: this.getSelectedDate(),
borderColor: "white",
backgroundColor: "pink",
display: "background",
},
]}
editable={false}
selectable={true}
/>
任何帮助将不胜感激。
【问题讨论】:
-
在您的事件中,您可以提供颜色选项,也可以使用 eventClick 来检测事件上的事件它返回当前事件及其元素,您可以相应地对其进行更改
-
如果您使用“选择”功能而不是 dateClick,那么它会自动在所选区域上放置背景。见fullcalendar.io/docs/date-clicking-selecting
-
@ADyson,谢谢您的回复。我有你所说的工作版本,选择日期的背景颜色将通过为 --fc-highlight-color 设置 css 来设置。但由于某种原因,背景属性停止工作。(很可能在我将高度设置为 100% 之后)此外,选择的日期需要在页面渲染上突出显示,这不会通过选择功能发生。
-
"所选日期需要在页面渲染中突出显示"...肯定在页面渲染时,还没有人选择日期?我误解了吗?而且我不确定设置高度会如何影响选择的背景颜色......你确定这是问题吗?你是不是又把高度去掉了测试一下?
-
@ADyson,是的,我试图移除高度,但没有运气。当我尝试更改页面的布局时,问题就开始了。再次感谢您的回复。
标签: javascript reactjs typescript npm fullcalendar