2015-11-29 218 views
1

我想添加一个选项,将取消选择,我想表单项重置为它的默认值,而不是“ - 无 - ”。角材 - 选择,零选项

<md-select ng-model="topping"> 
    <md-option ng-value=""> -- NONE -- </md-option> 
    ... 
</md-select> 

更新

我能够观看和删除值来解决,但是这似乎应该是可以避免的。

codepen

回答

0

我最近使用的方法是将下一个添加一个清除按钮时的值已被选定变得可见,并且当模型值被清除隐藏(其点击按钮一样)

输入

这工作很适合我,是直观的用户,并且可以用于其它输入,比如文本和日期选择器

0

更新1: 因为ng-click将在选择之前被解雇离子被分配到ng-model,使用ng-change如下图所示

HTML:

<md-select ng-change="clear()" ng-model="topping> 
    <md-option ng-value="none"> -- NONE -- </md-option> 
    ... 

JS:

$scope.clear=function(){ 
    if($scope.topping=="none") 
     $scope.topping=null; 
} 

更新1 END

你可以做些什么喜欢 这样的:

HTML:

<md-option ng-click="clear()">--NONE--</md-option> 

JS:

$scope.clear=function(){ 
    $scope.topping=null; 
} 
+0

这个解决方案似乎不工作:在执行清除功能后,为MD-的NG-模型值select被设置回由md-option指定的内容(例如, - 无 - 在这种情况下) – gru

+0

@gru在'md-select'上尝试'ng-change',而不是在特定选项上单击'ng-click'。在ng-model被赋值后,'ng-change'将被触发。检查选定的值是否为none,然后将模型设置为none –

+0

我发现更容易的方法是将清晰的按钮添加到我的选择上,以将模型设置为undefined。 – gru