ASR*_*ASR 2 javascript angularjs angular-ui-bootstrap
我有一个尖锐的uib-typeahead。这是我创建的plunkr的链接。https://plnkr.co/edit/8XwhSXsZlyd0oKSljS9t?p=preview。
我使用了typeahead-is-open属性。
我想要的是,当我单击uib-typeahead时,它应该打开并显示所有值。我假设将typeahead-is-open设置为true即可完成这项工作。它是否正确?当前,在将typeahead-is-open设置为true时,不会打开typeahead。
这是我的html
<input ng-click = "myFunc()" click-outside="typeaheadIsOpen = false;" type="text" ng-model="selected" uib-typeahead="state for state in states | filter:$viewValue | limitTo:8" typeahead-is-open="typeaheadIsOpen" class="form-control">
Run Code Online (Sandbox Code Playgroud)
我的JS
$scope.myFunc = function() {
$timeout(function() {
$scope.typeaheadIsOpen = true;
$scope.$digest();
})
}
Run Code Online (Sandbox Code Playgroud)
我已经将typeahead-is-open绑定到“ typeaheadIsOpen”变量。单击typeahead时,我将调用myFuc(),它将变量typeaheadIsOpen设置为true。
但是提前输入无法打开。我做错什么了吗?
看来您无法使用typeahead-is-open属性来控制是否显示预输入弹出窗口。这是源代码中的相关部分:
UibTypeaheadController
//binding to a variable that indicates if dropdown is open
var isOpenSetter = $parse(attrs.typeaheadIsOpen).assign || angular.noop;
...
scope.assignIsOpen = function (isOpen) {
isOpenSetter(originalScope, isOpen);
};
Run Code Online (Sandbox Code Playgroud)
此属性用于在打开typeahead时获取用于更新作用域的表达式,但不用于从作用域获取值并且未设置任何相关的观察程序。
| 归档时间: |
|
| 查看次数: |
1494 次 |
| 最近记录: |