删除空白选项但不将初始选项设置为第一个值

Remove blank option but do not set an initial option to the first value

我想删除 select 中生成的空选项。

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

我还想做的是不自动设置第一个元素。基本上,一旦 select 未被触及,该值应该为空,但是一旦用户单击 select,他们就看不到其中的空选项。如果在没有 select 选项的情况下取消select,select 应该保持为空。

所以我不想这样结束 http://jsfiddle.net/MTfRD/6518/

var myApp = angular.module('myApp',[]);

function MyCtrl($scope) {

   $scope.typeOptions = [
      { name: 'Feature', value: 'feature' }, 
      { name: 'Bug', value: 'bug' }, 
      { name: 'Enhancement', value: 'enhancement' }
   ];

   $scope.form = {type : $scope.typeOptions[0].value};
}
<div ng-controller="MyCtrl">
    <select ng-model='form.type' required 
        ng-options='option.value as option.name for option in typeOptions'>
    </select>
</div>

我已经查看了数十个建议这个答案的帖子,但它并没有解决我的问题。

这是期望的行为

您可以像这样简单地进行黑客攻击,

<div ng-controller="MyCtrl">
    <select ng-model='form.type' required ng-options='option.value as option.name for option in typeOptions'>
          <option value="" style="display: none"></option>
    </select>
</div>

演示

var myApp = angular.module('myApp',[]);


function MyCtrl($scope) {
    
    $scope.typeOptions = [
    { name: 'Feature', value: 'feature' }, 
    { name: 'Bug', value: 'bug' }, 
    { name: 'Enhancement', value: 'enhancement' }
    ];
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl">
    <select ng-model='form.type' required ng-options='option.value as option.name for option in typeOptions'>
          <option value="" style="display: none"></option>
    </select>
</div>

试试这个..它就像占位符

 <option selected disabled>Choose here</option>