如何在选择框中添加一个不可选和可自定义的占位符
问题的原因是希望在选择框中添加一个不可选择的自定义占位符。解决方法是使用Angular的指令系统来扩展基本的HTML。
我们可以通过以下方式实现:
app.directive('select', function($interpolate) { return { restrict: 'E', require: 'ngModel', link: function(scope, elem, attrs, ctrl) { var defaultOptionTemplate; scope.defaultOptionText = attrs.defaultOption || 'Select...'; defaultOptionTemplate = ''; elem.prepend($interpolate(defaultOptionTemplate)(scope)); } }; });
使用这个指令,我们可以这样做:
这将创建一个带有不可选择的占位符的选择框,占位符显示为"Select..."。
如果我们想要一个自定义的占位符,可以这样做:
这将创建一个带有不可选择的占位符的选择框,占位符显示为"What's your favorite dog?"。
这个解决方法不适用于动态的default-option,如果default-option是动态的,解决方法将无效。
此外,还提供了一些Plunker示例链接,供参考。