【问题标题】:dropdown is not populating with json object下拉列表未填充 json 对象
【发布时间】:2016-06-10 14:56:12
【问题描述】:

我的 ng-model 值是 - "{"Id":1,"Description":"Draft","Code":"Draft"}" 并且 ng-options 是 -

[ { “身份证”:1, “描述”:“草稿”, “代码”:“草案” }, { “身份证”:2, "描述": "用户提交", “代码”:“用户提交” }, { “身份证”:3, "描述": "PLM 批准", “代码”:“PLM 已批准” } ]

所以我的下拉列表没有填充(但值是绑定的)。

我明白了,如果 ng-model 值只是一个它会绑定的整数值,那么 json 对象呢? 需要的请帮忙。

【问题讨论】:

    标签: angularjs json


    【解决方案1】:

    AFAIK 它不会绑定,因为您的模型是不同的对象,即指向不同的内存位置,并且它与数组中的任何对象都不匹配。

    您可以使用 ng-options 中的 as 子句来选择要进入 ng-model 的属性,并使用该值设置 ng-model 将设置所选选项。

    例如

    <select ng-options="item.Id as item.Description for item in default.items" ng-model="default.selectedItemId">
          <option value="">Select</option>
        </select>
    

    否则,您可以使用 track by 子句,当您想将一个属性或对象放入您的 ng-model 但您想使用 ng-model 中将在跟踪子句,即更新从代码到视图的绑定

    例如

    <select ng-options="item as item.Description for item in default.items track by item.Id" ng-model="default.selectedItem">
          <option value="">Select</option>
        </select>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-30
      • 1970-01-01
      • 1970-01-01
      • 2011-05-28
      • 2013-04-16
      • 2021-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多