我想从使用自动完成组件的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]']
我在自动完成没有错误,但没有结果。 我看到了铬(选项卡网络)的调试数据被正确拉为输入中的每个变化
有什么方法可以让用户在输入框中点击时显示所有可用内容,而不是等待输入第一个字母? –