我使用的是dojo版本1.14.2和dstore版本1.1.2。我试图用内存存储来填充select,但是select仍然是空的。
我使用的类是:"dstore/Memory","dstore/legacy/DstoreAdapter","dijit/form/Select“
我正在尝试使用以下代码填充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是字符串。没有抛出错误,只是select没有填充数据。对可能发生的事情有什么想法吗?
谢谢
皮特
发布于 2019-11-08 02:28:43
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);
}
},https://stackoverflow.com/questions/58736097
复制相似问题