使用Kendo UI获取DataSource数据元素时返回undefined求助
解决Kendo UI DataSource获取数据返回undefined的问题
问题原因
你直接通过dataSource.data[0]访问数据是错误的,Kendo UI DataSource的data属性是ObservableArray类型的对象,不是普通数组,不能直接用索引[0]访问内部元素。
解决办法
使用DataSource提供的data()方法获取数据集合,它会返回可直接用索引访问的数组(或ObservableArray,支持索引访问):
var dataSource = new kendo.data.DataSource({ data : ["One", "Two"] }); // 正确获取第一个元素的方式 console.log(dataSource.data()[0]); // 输出 "One" kendo.bind($("#container3"), {});
另外,也可以用ObservableArray的get()方法来获取指定索引的元素:
console.log(dataSource.data().get(0)); // 同样输出 "One"
如果是异步加载的数据(比如远程请求),需要确保数据加载完成后再获取,可通过fetch()方法的回调处理:
var dataSource = new kendo.data.DataSource({ data : ["One", "Two"] }); dataSource.fetch(function() { console.log(this.data()[0]); // 输出 "One" });
内容的提问来源于stack exchange,提问作者nick glav
相关产品推荐
相关产品推荐

