无法用数据存储/内存存储填充dijit/form/select



我使用的是dojo版本1.14.2和dstore版本1.1.2。我正在尝试用内存存储填充select,而select只是保持为空。

我使用的类是:"数据存储/内存","dstore/elegacy/DstoreAdapter","dijit/form/Select">

我正在尝试使用以下代码填充选择:

GetJobCategoriesConfirm: function (data, msg) {
if (msg === "ok") {
JobCategoryStore = new Memory({ data: data.JobCategoriesGetResult, idProperty: "Category" });
this.selectJobCategory.set("labelAttr", "Category");
this.selectJobCategory.setStore(JobCategoryStore);
//this.selectJobCategory.set("store", JobCategoryStore); //doesnt work either
}
else {
alert(msg);
}
}

我已经确认,我正在以json格式从函数中获取数据(有14条记录(,存储对象看起来不错,select的名称正确,数据存储中的列的名称正确并且CategoryID是一个字符串。没有抛出任何错误,只是选择中没有填充数据。对可能发生的事情有什么想法吗?

感谢

Pete

Site Penn在这里给出了答案:https://github.com/SitePen/dstore/blob/master/docs/Adapters.md

我需要实现DstoreAdaptor,以便将dstore用作遗留dojo/store。新代码是:

GetJobCategoriesConfirm: function (data, msg) {
if (msg === "ok") {
JobCategoryStore = new Memory({ data: data.JobCategoriesGetResult, idProperty: "Category" });
var adaptedStore = new DstoreAdapter(JobCategoryStore); 
this.selectJobCategory.set("labelAttr", "Category");
this.selectJobCategory.setStore(adaptedStore);
}
else {
alert(msg);
}
},

最新更新