Javascript 如何在Dojo中刷新dijit/form/Select的存储?

Javascript 如何在Dojo中刷新dijit/form/Select的存储?,javascript,select,store,dojo,Javascript,Select,Store,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, miss

当我试图刷新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();
然后,我需要刷新selector的存储,以不断选择新用户,我遵循Dojo official的文档,以如下方式执行此操作:

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

上述两种方法都不起作用,我在执行它们时没有看到AJAX请求发布到后端。那么我怎样才能选择重新加载数据呢


提前谢谢。

我自己用一个难看的黑客解决了类似的问题:

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

在我的例子中,我使用JsonRestStore从后端获取数据,我建议您也这样做。

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

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

在我的例子中,我使用JsonRestStore从后端获取数据,我建议您也这样做。

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

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

在我的例子中,我使用JsonRestStore从后端获取数据,我建议您也这样做。

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

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

在我的例子中,我使用JsonRestStore从后端获取数据,我建议您也这样做。

我知道我没有提供解决方案,但首先我建议更改为非弃用api,例如使用and存储。你可能会发现它能更好地处理你的用例。我同意Jez的观点,看看这篇博文:SitePen.com。示例显示了如何使用Observable来侦听内存中的更改。是的,使用Observable包装内存存储将是一个好主意,在存储上设置查询并获取对其结果集的更改非常简单。我知道我没有提供解决方案,但首先我建议更改为非弃用api,比如一家商店。你可能会发现它能更好地处理你的用例。我同意Jez的观点,看看这篇博文:SitePen.com。示例显示了如何使用Observable来侦听内存中的更改。是的,使用Observable包装内存存储将是一个好主意,在存储上设置查询并获取对其结果集的更改非常简单。我知道我没有提供解决方案,但首先我建议更改为非弃用api,比如一家商店。你可能会发现它能更好地处理你的用例。我同意Jez的观点,看看这篇博文:SitePen.com。示例显示了如何使用Observable来侦听内存中的更改。是的,使用Observable包装内存存储将是一个好主意,在存储上设置查询并获取对其结果集的更改非常简单。我知道我没有提供解决方案,但首先我建议更改为非弃用api,比如一家商店。你可能会发现它能更好地处理你的用例。我同意Jez的观点,看看这篇博文:SitePen.com。示例显示了如何使用Observable来侦听内存中的更改。是的,使用Observable包装内存存储将是一个好主意,在存储上设置查询并获取对其结果集的更改非常简单。谢谢!!select.setStorenew_存储已工作。我一直在尝试使用select.store=new_store,但它没有更新select中的选项。谢谢!!select.setStorenew_存储已工作。我一直在尝试使用select.store=new_store,但它没有更新select中的选项。谢谢!!select.setStorenew_存储已工作。我一直在尝试使用select.store=new_store,但它没有更新select中的选项。谢谢!!select.setStorenew_存储已工作。我一直在尝试使用select.store=new_store,但它没有更新select中的选项。