我想從使用自動完成組件的angular2/material2服務器獲取數據。 (https://material.angular.io/components/component/autocomplete)md-autocomplete angular2從服務器獲取數據(使用服務)
TS
emailCtrl: FormControl;
filteredEmails: any;
constructor(
private companieService: CompanieService,
) {
this.emailCtrl = new FormControl();
this.filteredEmails = this.emailCtrl.valueChanges
.startWith(null)
.map(email => this.filterEmails(email));
}
filterEmails(email: string) {
this.userService.getUsersByEmail(email)
.subscribe(
res => {
return res
},
error => {
console.log(error);
}
)
}
HTML
<md-input-container>
<input mdInput placeholder="Email" [mdAutocomplete]="auto" [formControl]="emailCtrl" [(ngModel)]="fetchedUser.profile.email">
</md-input-container>
<md-autocomplete #auto="mdAutocomplete">
<md-option *ngFor="let email of filteredEmails | async" [value]="email">
{{email}}
</md-option>
</md-autocomplete>
服務:userService.getUsersByEmail(email)
是拉這樣的數據:
['[email protected]','[email protected]','[email protected]']
我在自動完成沒有錯誤,但沒有結果。 我看到了鉻(選項卡網絡)的調試數據被正確拉爲輸入中的每個變化
有什麼方法可以讓用戶在輸入框中點擊時顯示所有可用內容,而不是等待輸入第一個字母? –