Angular Material:md-autocomplete - 如何在 Enter 事件上隐藏 md-autocomplete-suggestions?

2024-03-04

I have md-autocomplete:

<md-autocomplete 
                         md-min-length="1"
                         ng-enter="presEnter();"
                         md-no-cache="true"                        
                         md-selected-item="selectedItem" 
                         md-search-text="searchText" 
                         md-items="item in querySearch(searchText)"
                         md-item-text="item.name" 
                         placeholder="Search for a vegetable">
          <span md-highlight-text="searchText">{{item.name}} :: {{item.type}}</span>
        </md-autocomplete>

与指令:ng-enter.

我的目标:当用户按下Enter我想隐藏md-autocomplete-suggestions落下

我从 HTML 知道我需要以某种方式调用:$mdAutocompleteCtrl.hidden = true;但不知道如何使用$mdAutocompleteCtrl在控制器中。

我用谷歌搜索并发现:

$timeout( function() { $scope.$$childHead.$mdAutocompleteCtrl.hidden = true; },100);

但没有$mdAutocompleteCtrl(至少在我的JS中,仅在HTML中,我不知道它的范围)

我玩这个example http://codepen.io/anon/pen/XbOPgv?editors=101:输入“a”,然后在下拉菜单中按 Enter 键。

有任何想法吗?


The $mdAutocompleteCtrl作为自动完成范围的属性放置。

首先,您需要访问自动完成元素。一种方法是在自动完成中添加 ID:

<md-autocomplete id='Auto'
                 md-min-length="1"
                 ng-enter="presEnter();"
                 md-no-cache="true"
                 md-selected-item="selectedItem"
                 md-search-text="searchText"
                 md-items="item in querySearch(searchText)"
                 md-item-text="item.name"
                 placeholder="Search for a vegetable">

然后您可以使用该元素来获取自动完成的内部范围。由于自动完成元素本身位于您提供的范围内,因此您需要获取自动完成的子元素之一的范围。

$scope.presEnter = function(e){
    var autoChild = document.getElementById('Auto').firstElementChild;
    var el = angular.element(autoChild);
    el.scope().$mdAutocompleteCtrl.hidden = true;
};

这是一个工作示例:http://codepen.io/anon/pen/rVPZKN?editors=101 http://codepen.io/anon/pen/rVPZKN?editors=101

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular Material:md-autocomplete - 如何在 Enter 事件上隐藏 md-autocomplete-suggestions? 的相关文章

随机推荐