You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将DHTMLX Scheduler的LightBox复选框文本同步到EventBox?

实现DHTMLX Scheduler中LightBox复选框文本在EventBox的显示

当然可以实现这个需求!下面是亲测有效的分步实现方案:

1. 在LightBox中添加带文本的复选框控件

首先,你需要在LightBox的配置里新增一个复选框类型的section,指定它的显示文本,以及用来存储勾选状态的事件属性:

// 配置LightBox的sections
scheduler.config.lightbox.sections = [
    { name: "description", height: 130, map_to: "text", type: "textarea", focus: true },
    { name: "custom_check", label: "需要特殊跟进", map_to: "custom_checkbox", type: "checkbox" },
    { name: "time", height: 72, type: "time", map_to: "auto" }
];

这里的label就是复选框旁的显示文本,map_to指定将勾选状态(true/false)存在事件对象的custom_checkbox属性中。

2. 自定义EventBox的显示模板

接下来要修改事件框(EventBox)的显示逻辑,通过DHTMLX的模板函数判断复选框是否勾选,若勾选则追加对应的文本。你可以根据需求修改两个核心模板:

// 修改事件详情框的显示模板(点击事件弹出的详情)
scheduler.templates.event_text = function(start, end, event) {
    let baseText = event.text || "无标题";
    // 复选框勾选时,追加设定的文本
    if (event.custom_checkbox) {
        baseText += "<br><span style='color:#666;'>需要特殊跟进</span>";
    }
    return baseText;
};

// (可选)修改时间轴上事件条的显示模板
scheduler.templates.event_bar_text = function(start, end, event) {
    let barText = event.text || "";
    if (event.custom_checkbox) {
        barText += " (需跟进)";
    }
    return barText;
};

注意这里的文本要和LightBox复选框的label保持一致,保证显示统一。

3. 初始化事件默认属性(可选)

如果需要新建事件时默认不勾选该复选框,可以添加事件创建的初始化逻辑:

scheduler.attachEvent("onEventCreated", function(event) {
    event.custom_checkbox = false; // 默认未勾选
    return true;
});

完成以上设置后,当你在LightBox勾选复选框并保存事件,对应的文本就会自动显示在EventBox里了!

内容的提问来源于stack exchange,提问作者synthcafe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:41:53