я использую md-autocomplete, чтобы показать данные пользователю
<form name="searchForm" ng-submit="$event.preventDefault()">
<md-autocomplete
md-no-cache="true"
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="enter Name"
md-search-text-change="ctrl.searchTextChange(ctrl.searchText)"
md-selected-item-change="ctrl.selectedItemChange(item,$event)"
>
<md-item-template>
<span md-highlight-text="ctrl.searchText" md-highlight-flags="^i">{{item.display}}</span>
</md-item-template>
<md-not-found>
not found anything!
</md-not-found>
</md-autocomplete>
</form>
, когда пользователь нажимает на результат, он отображается во всплывающем окне, используя $ mdDialog
function selectedItemChange(item,ev) {
$mdDialog.show({
locals: { drugData: item },
controller: DialogController,
templateUrl: 'DIALOG.TMPL.html',
parent: angular.element(document.body),
targetEvent: ev,
clickOutsideToClose: true,
fullscreen: false
});
self.selectedItem = '';
}
я использую self.selectedItem = '';
очистить текст поиска после щелчка пользователя, но это приводит к тому, что $ mdDialog показывается дважды, а элемент, переданный в диалоговое окно, становится пустым во второй раз. Как я могу предотвратить показ диалогового окна дважды?
существует ли что-то вроде md-selected-item-click?
Я хочу показать диалог, когда пользователь нажимает на результат, и это происходит только один раз