【发布时间】:2019-06-17 06:22:58
【问题描述】:
我正在使用来自 API 的 Asyng 数据创建 Material Auto-complete。 但这个问题出现了。我关注了此链接上的“https://stackblitz.com/edit/angular-material-autocomplete-async2?file=src%2Fapp%2Fuser.class.ts”。并且只是简单地将手动填充数组数据机制替换为api机制。
“this.http.get”中的 IUserResponse 带有红色下划线,错误为“预期 0 类型参数,但得到 1”
//////app.service.ts
search(filter: {companyName: string} = {companyName: ''}): Observable<IUserResponse> {
return this.http.get<IUserResponse>(this.api+'PublicAPI/Schools',this.option)
.pipe(
tap((response: IUserResponse) => {
response.results = response.results
.map(user => new Schoollist(user.companyID, user.companyName))
.filter(user => user.companyName.includes(filter.companyName))
return response;
})
);
}
/////schoollist.class.ts
export class Schoollist {
constructor(public companyID: string, public companyName: string) {}
}
export interface IUserResponse {
total: string;
results: Schoollist[];
}
///app.component.ts
filteredSchs: Schoollist[] = [];
usersForm: FormGroup;
isLoading = false;
constructor(public dialogRef: MatDialogRef<EducationalbackgroundUpdateComponent>,
@Inject(MAT_DIALOG_DATA) public data: any,
public dialog: MatDialog,
private global: GlobalService,
private http: Http,
private fb: FormBuilder,
) {
}
ngOnInit() {
this.usersForm = this.fb.group({
userInput: null
})
this.usersForm
.get('userInput')
.valueChanges
.pipe(
debounceTime(300),
tap(() => this.isLoading = true),
switchMap(value => this.global.search({companyName: value})
.pipe(
finalize(() => this.isLoading = false),
)
)
)
.subscribe(users => this.filteredSchs = users.results);
}
displayFn(sch: Schoollist) {
if (sch) { return sch.companyName; }
}```
【问题讨论】:
-
他的问题出现了:哪个问题?它发生在哪里?
标签: angular