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

Syncfusion日程编辑器默认时间设置及弹窗拖拽问题求助

Syncfusion Schedule 问题解决方案

1. 设置日程默认开始/结束时间并允许调整

通过popupOpen事件为新建日程初始化默认时间,同时保留用户调整权限:

function OnPopupOpen(args) {
    if (args.type === 'Editor' && !args.data.Id) {
        // 新建日程时设置默认开始时间为当天9:00
        const startTime = new Date();
        startTime.setHours(9, 0, 0);
        args.data.StartTime = startTime;
        
        // 设置默认结束时间为当天9:30
        const endTime = new Date(startTime);
        endTime.setMinutes(endTime.getMinutes() + 30);
        args.data.EndTime = endTime;
    }
}

这段代码仅在创建新日程时填充默认值,编辑已有日程时不会覆盖原有时间,用户可自由修改时间控件内容。

2. 修复弹窗拖拽失效问题

仅添加e-draggable类无法激活拖拽功能,需手动初始化Syncfusion的Draggable组件,建议指定弹窗标题栏为拖拽手柄避免操作冲突:

function OnPopupOpen(args) {
    // 如需保留默认时间逻辑,可合并到此处
    
    if (args.element?.classList.contains('e-event-editor')) {
        const dragHandle = args.element.querySelector('.e-popup-header');
        // 初始化Draggable组件
        new ej.base.Draggable(args.element, {
            handle: dragHandle,
            clone: false
        });
    }
}

注意:确保项目已引入ej2-base模块(Syncfusion基础模块),否则Draggable无法正常实例化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 12:52:48