javascript - 如何使用 react-big-calendar 的 slotPropGetter 为特定日期和特定时间着色?

标签 javascript reactjs fullcalendar react-big-calendar

我有一个 react-big-calendar我想获得相同的信息,如日期、开始和结束(作为时间),以便使用 slotPropGetter 为时间和日期槽着色。

我从后台得到的信息是:

    {   "start": "2019-08-23T13:30:00",
        "end": "2019-08-23T18:00:00",
        "rendering": "background",
        "color": "#f740f7"
    }

我尝试使用 slotPropGetter :

slotPropGetter={
                (date) => {
                    for(let i =0; i<this.state.eventsPlanning.length; i++) {
                      if(this.state.eventsPlanning[i].rendering === 'background') {
                        let newStyle ={
                          backgroundColor:'red'
                        }
                        return {
                          className: "rbc-day-slot rbc-time-slot",
                          style: newStyle
                        }
                      }
                    }
                  }
                }

当我运行它时,似乎所有的日子都是彩色的,但我只想根据信息的开始结束来着色。

我该如何解决?

最佳答案

DayWeek View 中呈现每个单独的 timeslot 时调用 slotPropGetter 方法,并且传递的 date 对象是一个完整的日期/时间 js Date 对象,表示广告位的开始时间。在这些 View 中,每小时长 block 调用此方法的次数由日历的 steptimeslots 属性决定。因此,例如,默认的 step30timeslots2,这将通过 传递日期code>HH:00HH:30 两次被调用(HH 是实际的 24 小时 hour)。如果您将其更改为 15step4timeslots 该方法将每小时调用四次,每次增加十五分钟。您必须使用自己的日期数学来确定要调整的插槽单元格。

关于javascript - 如何使用 react-big-calendar 的 slotPropGetter 为特定日期和特定时间着色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59050747/

相关文章:

angularjs - Fullcalendar Angular/Node.JS http 请求 : TypeError: Converting circular structure to JSON (at Object. stringify)

javascript - 如何在没有代码 "editable = true"的情况下调整完整日历中的事件大小

javascript - 无法在 typescript 中调用 svgdotjs rect 方法

javascript - Selenium 无法通过 XPath 识别元素

javascript - UDP多广播nodejs

javascript - 如何更改antd中动态表单字段的值?

javascript - 在 JQuery 中切换可拖动对象的正确方法?

reactjs - ReactDOM/getDOMNode() 而不是 jQuery?

html - 没有 jquery 水平居中模态

javascript - 完整日历删除上次单击时的边框颜色