将 ng-重复转换为 ng-option 错误



我有以下用于选择标签的html代码。

<option ng-repeat="option in AllData" value="{{item.Id}}" ng-selected="data.Symbol==item.Id">{{item.Symbol}}</option>

我想将其转换为ng选项。 有人可以对此有所了解吗?

所有数据的值如下。它是一个对象的数组。

0:Object
 Id: 1
 Symbol: "GR"
1:Object
 Id: 2
 Symbol: "DR"

我尝试过这样的事情,但没有成功。

ng-options="item as item .Symbol for item in AllData track by item.Id">

试试这个

<select ng-options="option as option.Symbol for option in AllData">
    </select>

使用 ngOptions 时,还必须将 ng-model 与初始值 select 绑定。提到,既然你使用了 track by item.Id ,默认值至少应该包含属性Id,并且满足属性Id项之一。请参阅以下示例:

angular.module("app", [])
  .controller("myCtrl", function($scope) {
    $scope.AllData = [{
      0: Object,
      Id: 1,
      Symbol: "GR"
    }, {
      1: Object,
      Id: 2,
      Symbol: "DR"
    }];
    //$scope.data = $scope.AllData[0];
    $scope.data = {
      0: Object,
      Id: 1,
      Symbol: "GR"
    };
  });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<div ng-app="app" ng-controller="myCtrl">
  <select ng-model="data" ng-options="item as item.Symbol for item in AllData track by item.Id"></select> {{selectedItem}}
</div>

最新更新