Как да добавя собствената си функция, когато бутонът за изчистване е щракнат върху Автоматично попълване на ъгловия материал.
URL адрес: https://material.angularjs.org/latest/demo/autocomplete
Например: Искам да стартирам myFunctyion (), когато щракнете върху бутона X в полето Auto-complete.
Отговори:
0 за отговор № 1Бутонът идва от следния код "s 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>
Ако сте написали a button
директива за елементите или a mdVisuallyHidden
клас директиви с висок приоритет, може да сте в състояние да прихванете събитието и да го обработите сами ...
ИЛИ подайте заявка за изтегляне, за да добавите такова събитие https://github.com/angular/material/blob/master/src/components/autocomplete/js/autocompleteDirective.js
0 за отговор № 2
Съгласен съм с предишния отговор, че бутонът "X" ще задейства $mdAutocompleteCtrl.clear()
.
Но моите съвети ще се различават, освен писане на специална директива можете просто да поставите функцията си $mdAutocompleteCtrl.clear()
при angular-material.js
библиотека. Или направете публична променлива, която може да предава вашата функция вътре $mdAutocompleteCtrl.clear()
функция.
Всъщност $mdAutocompleteCtrl.clear()
тя е само псевдоним за публичен метод. Името на реалната функция на angular-material.js
е clearValue()