ng-option заменяет мой вариант по умолчанию - PullRequest
0 голосов
/ 23 мая 2018

У меня есть тег выбора как

 <select ng-model="vm.fooModel"
         ng-options="item.id as item.name for item in vm.fooOptions" >
     <option value="none">Select</option>
 </select>

Проблема заключается в том, что при рендеринге angular 1.6 удаляет мой вариант по умолчанию и добавляет пустой параметр

     <option value="?" selected="selected"></option>

МойНачальное значение модели для "vm.fooModel" - "none".̶T̶h̶i̶s̶ ̶w̶a̶s̶ ̶w̶o̶r̶k̶i̶n̶g̶ ̶f̶i̶n̶e̶ ̶i̶n̶ ̶a̶n̶g̶u̶l̶a̶r̶ ̶1̶.̶5̶

Ответы [ 3 ]

0 голосов
/ 24 мая 2018

Добавить опцию по умолчанию к массиву опций в контроллере.

angular.module("app", [])
  .controller("ctrl", function() {
    var vm = this;
    vm.fooModel = "none";
    vm.fooOptions = [{
        id: "none",
        name: "default"
      },
      {
        id: 1,
        name: "one"
      },
      {
        id: 2,
        name: "two"
      },
    ];
  })
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>


<body ng-app="app" ng-controller="ctrl as vm">
  <select ng-model="vm.fooModel" ng-options="item.id as item.name for item in vm.fooOptions">
  </select>

  Select: {{vm.fooModel}}
</body>
0 голосов
/ 24 мая 2018
<option ng-repeat="item in vm.fooOptions track by item.id" ng-value="item.id">

использовать трек в ng-repeat

0 голосов
/ 23 мая 2018

Используйте метод ng-repeat для <select> параметров:

angular.module("app",[])
.controller("ctrl", function(){
  var vm = this;
  vm.fooModel="none";
  vm.fooOptions=[
    {id: 1, name:"one"},
    {id: 2, name:"two"},
  ];
})
<script src="//unpkg.com/angular/angular.js"></script>
<body ng-app="app" ng-controller="ctrl as vm">
    <select ng-model="vm.fooModel">
      <option value="none" disabled>Select</option>
      <option ng-repeat="item in vm.fooOptions" ng-value="item.id">
        {{item.name}}
      </option>   
    </select>
    value={{vm.fooModel}}
 </body>

Для получения дополнительной информации см. AngularJS <select> Директива API Reference - Использование ngRepeat для генерации select параметров .

...