我需要动态更新先行建议。预先输入并不反映它所绑定的数组的变化。我该如何解决这个问题?我正在使用ui bootstrap
这是jsfiddle复制,添加值,尝试在tyeahead中输入,无更新
angular.module('ui.bootstrap.demo', ['ui.bootstrap'])
.controller('ModalDemoCtrl', function($rootScope, $scope, $log, $uibModal) {
$scope.addName = function() {
console.log("adding name" , $scope.name);
$scope.fieldNames.push($scope.name);
}
$scope.fieldNames = [{name:"Paul"},{name:"Pamela"}, {name:"Adam"}, {name:"Atrium"}];
});
答案 0 :(得分:0)
一些事情
您正在将字符串推入数组中,您应该使用name属性推送对象
您对ng-repeat有一个限制过滤器,限制了您的可见建议,您可能想要将其删除,或至少将其删除
而不是
$scope.addName = function() {
console.log("adding name" , $scope.name);
$scope.fieldNames.push($scope.name);
}
做
$scope.addName = function(newName) { // <-- passing the $scope.name from the template
console.log("adding name" , newName);
$scope.fieldNames.push({ name: newName});
}
并编辑
uib-typeahead="field as field.name for field in fieldNames | limitTo:4 | filter:{name:$viewValue}"
到
uib-typeahead="field as field.name for field in fieldNames | filter:{name:$viewValue}"