2016-02-26 4 views
2

Как добавить свою собственную функцию, когда кнопка очистки нажата на автозавершение углового материала.Угловой материал Autco-complete Clear

URL: https://material.angularjs.org/latest/demo/autocomplete

Например: Я хочу запустить myFunctyion(), когда кнопка X в автозаполнение поле щелкнул. enter image description here

ответ

0

Кнопка исходит из следующих кодового ng-click:

<button 
       type="button" 
       tabindex="-1" 
       ng-if="$mdAutocompleteCtrl.scope.searchText && !$mdAutocompleteCtrl.isDisabled" 
       ng-click="$mdAutocompleteCtrl.clear()"> 
       <md-icon md-svg-icon="md-close"></md-icon> 
       <span class="md-visually-hidden">Clear</span> 
      </button> 

Если вы написали директиву в button элемент или mdVisuallyHidden класса директиву с высоким приоритетом в, вы можете быть в состоянии перехватить событие и обработать его сами ...

ИЛИ отправить запрос на нагрузочный добавить такое событие https://github.com/angular/material/blob/master/src/components/autocomplete/js/autocompleteDirective.js

0

Согласитесь с предыдущим ответом, что кнопка «X» вызывает $mdAutocompleteCtrl.clear().

Но мои советы будут отличаться друг от друга, помимо написания индивидуальной директивы, вы можете просто поместить свою функцию в $mdAutocompleteCtrl.clear() в библиотеку angular-material.js. Или сделать общедоступную переменную, которая может передавать вашу функцию внутри функции $mdAutocompleteCtrl.clear().

Фактически $mdAutocompleteCtrl.clear() Это само по себе является только псевдонимом для общедоступного метода. Настоящее имя функции в angular-material.js: clearValue()