【问题标题】:Kendo Scheduler for Angular - on button click show create event formKendo Scheduler for Angular - 在按钮上单击显示创建事件表单
【发布时间】:2021-11-24 21:14:29
【问题描述】:

我正在我们的应用程序中为 Angular 实现 kendo 调度程序。我的问题是,我想在工具栏按钮上有一个允许用户添加新事件的按钮,通常默认情况下用户需要在日历单元格上单击两次,然后表单显示。如何实现?我试图通过在单击“添加”按钮时调度 keydown 事件来添加新事件,但它不起作用(通常当我在 kendo-scheduler 中获得焦点并在出现键盘表单时按“c”时。我的第二个想法是调用组件“addEvent”,它是 kendo 库中的事件发射器,但它只捕获不是实际的表单值,而是在创建事件期间分配的值。有什么想法吗?

我添加新事件的代码:

addNewEvent(component: SchedulerComponent) {
    const scheduler = document.getElementsByTagName('kendo-scheduler')[0];

    scheduler.dispatchEvent(
        new KeyboardEvent(
            'keydown', {key: 'c'} //first solution
        )
    );

    component.addEvent({//second solution
        start: new Date(), //when saving only start and end fields are filled, but only with those values, not with those selected on form
        end: new Date(),
    });
}

【问题讨论】:

    标签: javascript angular typescript kendo-ui-angular2 kendo-scheduler


    【解决方案1】:

    答案是升级后的第二个解决方案,需要创建和分配新的 formGroup:

    this.form = this.formBuilder.group({
        taskId: 0,
        title: '',
        description: '',
        start: new Date(),
        end: new Date(),
        startTimezone: null,
        endTimezone: null,
        isAllDay: false,
        recurrenceRule: null,
        recurrenceException: null
    });
    
    component.addEvent(this.form);
    

    【讨论】:

      猜你喜欢
      • 2018-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      • 2014-11-11
      • 1970-01-01
      • 2011-09-05
      相关资源
      最近更新 更多