2015-11-29 133 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