此問題的原因不是缺乏功能,而是關於在此組件中使用浮動標籤的問題。我在這個問題上發現了一些非常有用的信息:git:https://github.com/angular/material/issues/2727
有一個解決方案是由一個名爲nobol的用戶給出的,它可以解決我的問題。通過以清除自動完成場的問題可以解決使用指令:
HTML:
<md-autocomplete md-floating-label="LABEL"
md-selected-item="$ctrl.model" md-search-text="$ctrl.searchText"
md-selected-item-change="$ctrl.itemChanged($ctrl.model)"
md-items="item in $ctrl.items" clear-autocomplete
md-autoselect="true" required>
指令:
angular
.module('yourModule')
.directive('clearAutocomplete', clearAutocomplete);
function clearAutocomplete($parse) {
return {
restrict: 'A',
link: function(scope, element, attrs) {
const button = angular.element('<md-button>').addClass('clear-autocomplete');
button.append('<i class="material-icons">clear</i>');
element.append(button);
let searchTextModel = $parse(attrs.mdSearchText);
scope.$watch(searchTextModel, function(searchText) {
if (searchText && searchText !== '' && searchText !== null) {
button.addClass('visible');
} else {
button.removeClass('visible');
}
});
button.on('click', function() {
searchTextModel.assign(scope, undefined);
});
}
}
}
這解決了我的問題,所以THX在github上註冊!