【问题标题】:Kendo UI Scheduler - setting slotTemplate after data received from serverKendo UI Scheduler - 在从服务器接收到数据后设置 slotTemplate
【发布时间】:2016-06-08 16:46:55
【问题描述】:

在调度程序的“导航”事件中,我从服务器获取新日期的数据。 我有一个从日视图的 slotTemplate 调用的函数,它使用接收到的数据为调度程序槽着色。

我使用 Angular2、TypeScript 和 Reactive-Extensions/RxJS Observable 从服务器接收答案。

我的问题是,当我导航到另一个日期时,slotTemplate 函数在处理来自服务器的答案之前正在运行,因此数据不可用于为插槽着色。 果然,数据准备好后,slotTemplate函数就不再运行了。

如果可能的话,我更愿意使用 Kendo 的内置方法,而不是 jQuery,来解决这个问题。

有什么想法可以做到这一点吗?

【问题讨论】:

  • 不要让它可见,也许?
  • 这是一个问题还是一个答案? :) 它将如何解决问题?会有什么帮助?
  • 希望这不是粗鲁的,我的意思是这是一个实际的问题...... Observables 会留下来。这不取决于我。但如果是,你建议我怎么做?对服务器的请求毕竟是异步的……
  • 你的 http.get() 请求可以使用 http.get().subscribe(..) 函数,为什么不在 subscribe() 中运行你的 slotTemplate()?
  • 我不是运行 slotTemplate 的人,它是 KendoSchedulerOptions 对象中的一个字段。当 Kendo 调度器构建它的表时,它调用我提供给 slotTemplate 的函数,并在调度器表单元格的 标记之间合并结果字符串。

标签: asynchronous kendo-ui typescript angular kendo-scheduler


【解决方案1】:

已解决:将视图重置为当前值会重绘调度程序。

当 Observable 返回时,您可以为调度程序的插槽着色或对 DOM 进行任何其他更改,然后重新设置视图,更改将被显示。

重新设置视图的代码是:

let scheduler = $("#scheduler").data("kendoScheduler");
scheduler.view(scheduler.viewName());

【讨论】:

    猜你喜欢
    • 2017-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 2017-07-31
    相关资源
    最近更新 更多