繁体   English   中英

剑道编辑模板数组

[英]Kendo edit template array

我有以下带有自定义编辑模板的kendo示例

在示例中,有一个自定义编辑模板,因此,当您双击日历以创建一个新事件时,它将与自定义字段一起显示。

有一个“联系人”的自定义字段,其中有一个数组作为数据源。

此数据源是我从服务器获取的数组(需要1-2秒才能获取)。 编辑模板准备有标签的事实使得不可能在我成功(或完成)的获取数据的ajax调用的处理程序中简单创建。

我看到的唯一方法是在页面加载时准备好数据,以便模板进行拾取。

但是,我想在数据加载完成后立即创建模板,或者在加载数据后将其添加到模板中。

为了模拟服务器加载数据所需的时间,我使用了1秒钟的setTimeout,这样编辑模板就不会拾取数据。

重新创建:

  1. 双击日历以创建事件
  2. 请注意,联系人字段为空(因为页面加载时数据尚未准备就绪)

任何帮助表示赞赏

这与异步延迟无关。 您的kontaktdata数组对于传递给setTimeout的匿名函数是本地的,因此在评估模板的上下文中它根本不存在。

您的数据必须在数据模型本身或全局上下文中定义。

另一个问题是数据结构本身必须存在kendo.data.DataSource或数组,并且如果希望现有视图知道该新数据,则需要使用新数据更新它。 如果仅替换它,那么编辑模板将无法立即进行处理(如果打开新的编辑对话框,那么它当然也将起作用)。

因此,例如,如果这样做,它将起作用:

var kontaktdata = [];
setTimeout(function(){    
     kontaktdata.push.apply(kontaktdata, [
         { text: "Demo B Client", value: 1 },
         { text: "Martin", value: 2 },
         { text: "Herbert", value: 3 }]);
}, 4000);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM