繁体   English   中英

如何在Dojo中刷新dijit / form / Select的商店?

[英]How to refresh dijit/form/Select's store in Dojo?

当我尝试刷新dijit / form / Select的存储并从后端重新加载数据时遇到问题,这是我创建dijit / form / Select的方法:

var store = new ItemFileWriteStore({url: CONTEXT + "user/doListUsers.action"});

var selector = new Select({
    store: store,
    name: "userId",
    required: true,
    missingMessage: "You should select a user.",
    style: {
        width: "250px"
    },
    maxHeight: 300
}, "user_select");

selector.startup();

然后,我需要刷新选择器的存储以继续选择新用户,然后按照Dojo官方文档http://dojotoolkit.org/reference-guide/1.8/dojo/data/ItemFileReadStore.html#id3进行以下操作:

if (store) {
    store.close();
    store.fetch();
}

要么

if (store) {
    store.url = CONTEXT + "user/doListUsers.action";
    store.close();
}

上面两种方法都不起作用,执行它们时我没有看到AJAX请求发布到后端。 那么如何选择重装数据呢?

提前致谢。

我自己通过一个丑陋的黑客解决了类似的问题:

function fetch_select_data(select){
    var store = select.store;
    select.setStore(store);
}

就我而言,我使用JsonRestStore从后端获取数据,我建议您也这样做。

暂无
暂无

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

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