我正在尝试创建一个 AngularJS 指令来管理<select>输入的提示。3种不同的模式如下:
- 不允许空白选项
- 这是默认行为
- 允许没有文本的空白选项
- 通过设置
allow-blank="true"指令实现
- 通过设置
- 允许带有提示文本的空白选项
- 通过设置
allow-blank为除"true"
- 通过设置
但是,空白选项永远不可用。
Plunker 上的演示
模板
<select ng-options="tag.id as tag.name for tag in myTags">
<option ng-if="allowBlank === 'true'" value=""></option>
<option ng-if="allowBlank && allowBlank !== 'true'" value="">{{allowBlank}}</option>
</select>
指示
myApp.directive('mySelector', ['$http', function($http) {
return {
templateUrl:'my-selector-template.html',
restrict: 'E',
scope: {
allowBlank: '@?'
},
replace: true,
controller: function ($scope) {
$scope.myTags = [
{"name":"aliquam in","id":1},
{"name":"massa velit","id":2},
{"name":"nec vestibulum","id":3}
];
}
};
}]);