【问题标题】:Dynamically pull dojo combo box options from rest api从 rest api 动态拉取 dojo 组合框选项
【发布时间】:2014-07-24 09:24:31
【问题描述】:

我希望使用来自 json rest api 的值动态填充 dojo 组合框。理想情况下,用户将他们的字符串输入到组合框中,调用“get”返回相关字符串,然后用这些结果填充选择选项。

JsonRest store 似乎是实现此目的的好方法,但到目前为止我的尝试都没有成功。我遇到了两个问题:

  1. 我的 rest api 返回一个字符串列表,而组合按钮期望一个具有指定键的对象列表用作名称/值。我无权访问 api,因此无法更改响应结构。 -已修复

  2. 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


【解决方案1】:

问题 1: 通过将组合框的 'queryExpr' 属性设置为 '${0}' 进行修复

问题 2: 创建了我自己的基本商店,其中包含要修复的 get、getIdentity 和查询函数。在我的新查询函数中,我返回了一个新的延迟对象。我处理了 get 请求的返回值以适应正确的格式,并用我的新 deferred 解析了这个新列表。

【讨论】:

    猜你喜欢
    • 2020-07-14
    • 1970-01-01
    • 2011-10-07
    • 2023-03-12
    • 1970-01-01
    • 2014-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多