0

我正在使用表單將元素添加到列表中顯示在窗體的一側。標記是:Angular在程序中用空格輸入清空輸入

<form name="stateForm"> 
    <input type="text" ng-model="model.name" typeahead="state for state in states | filter:$viewValue"> 
    <button ng-click="addState(model)">Add to list</button> 
</form> 
<ul> 
    <li ng-repeat="state in selected_states">{{state.name}} - {{state.desc}}</li> 
</ul> 

,而控制器是:

$scope.states = ['Alabama', 'Wyoming']; 
    $scope.selected_states = []; 
    $scope.addState = function(state){ 
    $scope.selected_states.push(state); 
    $scope.model = {}; 
    $scope.stateForm.$setPristine();   
    } 

工作樣本:http://plnkr.co/edit/sLQCCm?p=preview

現在的問題是,雖然我可以清除與$scope.model={}$scope.stateForm.$setPristine()每個輸入,沒什麼清除輸入與鍵入。我懷疑這可能是因爲實施了前面的指令。

有沒有一種方法可以實現這一點,而不需要放棄打字?

回答

1

實際上,typeahead指令中存在一個錯誤,導致您的方案無法正常工作。它已經在master中修復了,並且將成爲下一個版本的一部分(0.5.0),希望在未來一週。

在你可以抓住從CI服務器如本普拉克顯示的最新版本的同時: http://plnkr.co/edit/j9undd?p=preview

+0

太好了,謝謝! – adamors