我需要在特定事件上打开角度材料md-autocomplete下拉列表.有没有办法做到这一点?
我有md-autocomplete,基本设置类似于这个http://codepen.io/paucaverba/pen/GpogPv?editors=101
<div ng-controller="DemoCtrl as ctrl" layout="column" class="autocompletedemoBasicUsage" ng-app="MyApp">
<md-autocomplete md-selected-item="ctrl.selectedItem" md-search-text="ctrl.searchText" md-items="item in ctrl.querySearch(ctrl.searchText)" md-item-text="item.display" md-min-length="0" placeholder="What is your favorite US state?"> <md-item-template> <span md-highlight-text="ctrl.searchText" md-highlight-flags="^i">{{item.display}}</span> </md-item-template> <md-not-found> No matches found for "{{ctrl.searchText}}". </md-not-found> </md-autocomplete> <br> <button class="md-button md-raised"> open </button> </form>
如果我点击控件本身,它将打开下拉列表.当我点击“打开”按钮时,我想要相同的行为
解决方法
将id =“auto_complete_id”属性提供给您的md-autocomplete
你可以试试这样的东西:(经过测试.这应该可行.虽然这在codepen上不起作用,但它会在控制台中引发错误)
codepen上的控制台出错(jqLite不支持通过选择器查找元素!)
在本机浏览器上测试它.
HTML:
<button ng-click=openAutocomplete()> Open </button>
JS:
$scope.openAutocomplete=function(){ setTimeout(function(){ angular.element('#auto_complete_id').find('input').focus(); },0); }