我正在寻找使用来自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');
我已经找到了星号问题,通过将组合框的'queryExpr'属性设置为'$ {0}'来修复它
我通过使用get,getIdentity和query函数创建自己的基本商店来解决不可用的列表问题。在我的新查询函数中,我返回了一个新的延迟对象。我处理了get请求中返回的值以适合正确的格式,并使用我的新延迟解析了这个新列表。
答案 0 :(得分:0)
问题1:通过将组合框的'queryExpr'属性设置为'$ {0}'来修复
问题2:使用get,getIdentity和查询函数创建我自己的基本商店。在我的新查询函数中,我返回了一个新的延迟对象。我处理了get请求中返回的值以适合正确的格式,并使用我的新延迟解析了这个新列表。