在Dojo 1.7+中,FilteringSelect似乎不再适用于ItemFileReadStore

时间:2012-08-29 15:17:11

标签: dojo

我正在将应用程序从dojo 1.5升级到1.7。此应用程序有几个由ItemFileReadStores支持的FilteringSelects。如,

  this.docTypeSel = this.adopt(dijit.form.FilteringSelect, {
       name: "docType",
       autoComplete: true
  }, document.createElement("select"));
  this.docTypeSel.placeAt(this.formNode);
  var url = dojo.moduleUrl("imed", "DocumentTypes.txt");
  this.documentTypeStore = new dojo.data.ItemFileReadStore({ url: url, urlPreventCache: "true" });
  this.docTypeSel.store = this.documentTypeStore;

在1.7中,this.docTypeSel.set('value',foo)的来电在尝试拨打this.store.get(value)时失败。我的理解是这是新的dojo / store API。在旧的dojo.data API和新的dojo / store API之间是否存在某种适配器?如果没有,ItemFileReadStore的推荐替代品是什么。 dojo / store / Memory似乎很接近,但似乎没有办法从网址中提取数据。

1 个答案:

答案 0 :(得分:2)

您是否考虑过使用dojo/store/DataStore?我没有亲自使用它,但它似乎是您想要使用的,因为dijit/form/FilteringSelect使用dojo/store API查找商店。

另一方面,dijit / form / Select需要dojo/data实现。如果您希望dojo/store实施dijit/form/Select,则可以使用{{1}}。