【发布时间】:2014-07-24 09:24:31
【问题描述】:
我希望使用来自 json rest api 的值动态填充 dojo 组合框。理想情况下,用户将他们的字符串输入到组合框中,调用“get”返回相关字符串,然后用这些结果填充选择选项。
JsonRest store 似乎是实现此目的的好方法,但到目前为止我的尝试都没有成功。我遇到了两个问题:
我的 rest api 返回一个字符串列表,而组合按钮期望一个具有指定键的对象列表用作名称/值。我无权访问 api,因此无法更改响应结构。 -已修复
json rest 存储正在进行的“get”调用是在查询末尾添加一个星号,这是不可取的。 -已修复
我的设置如下所示:
this.testStore = new JsonRestStore({
target: "myUrl",
allowNoTrailingSlash: true
});
this.dapComboBox.set('store', this.testStore);
this.dapComboBox.set('searchAttr', 'tag');
更新 1
我已经解决了星号问题,已通过将组合框的“queryExpr”属性设置为“${0}”来修复它
更新 2
我通过使用 get、getIdentity 和查询函数创建自己的基本存储解决了无法使用的列表问题。在我的新查询函数中,我返回了一个新的延迟对象。我处理了 get 请求的返回值以适应正确的格式,并用我的新 deferred 解析了这个新列表。
【问题讨论】:
-
如果我没看错,你的问题已经回答了吗?
-
是的,很抱歉
标签: javascript json rest dojo