首页 > 解决方案 > 在呈现后更改单个事件的 startEditable 值

问题描述

我想在startEditable单击事件时切换它的值。默认情况下,每个事件都是如此。

我尝试通过手动分配属性值来做到这一点,但它不起作用:

var calendar = new Calendar(calendarEl, {
  ...,
  editable: true,
  eventClick: function(info){
          info.event.startEditable = false;
        },
  ...
}

由于可以像这样更改样式:

eventClick: function(info){
          info.el.style.backgroundColor = 'red';
        }

这是否意味着在事件对象已经被渲染后就不能修改它了?

如果不是,我怎样才能使事件不可编辑后渲染?

编辑:这是一个带有问题示例的 CodePen

标签: javascriptfullcalendarfullcalendar-4

解决方案


我需要的是 setProp 方法:

eventClick: function(info) {
        info.event.setProp('startEditable', Boolean);
      }

我误读了文档,并认为这是不可能的,但事实恰恰相反。

特别是用于切换:

eventClick: function(info) {
        info.event.setProp('startEditable', !info.event.startEditable);
      }

推荐阅读