目前我使用angularjs select指令,我可以选择重置为无值
<select ng-model="myModel" ng-options="selectOptions">
<option value="">None</option>
</select>
当我选择None选项时,myModel为null
{{ myModel === null }} // true
我想对angularjs选择具有相同的行为,所以我添加一个带有“”值的选项。
onInitialize: function(selectize) {
selectize.addOption({id: '', name: 'None'});
}
所以当我选择没有选择时,我的模型是一个空字符串而不是空
{{ myModel === null }} // false
如何将此更改为null? 是否可以在不编写新指令的情况下完成?
答案 0 :(得分:1)
您可以分配到id
值null
,0
(零)或让undefined
像这样:
onInitialize: function(selectize) {
selectize.addOption({id: null, name: 'None'});
// selectize.addOption({id: 0, name: 'None'});
// selectize.addOption({name: 'None'});
}
并按照以下方式检查:
{{ !myModel }}
作为替代解决方案,您可以像这样检查''
(空值):
{{ myModel === '' }}
答案 1 :(得分:0)
我通过扩展
上的插件找到了一种方法scope.$watch('ngModel', setSelectizeValue);
var setSelectizeValue = function() {
if(scope.ngModel === '') {
scope.ngModel=null;
}
仍在寻找一种不延长插件的方法。