如何解决当过滤器为空时,它返回空数组
我需要有关 angular 项目数据表中过滤器的帮助。过滤器工作正常,正在过滤表中的结果,但我删除了过滤器字段中的所有字母,它返回一个空数据表,如果我只输入 1 个字母,它会用结果填充表。>
这是我的 html:
<mat-form-field>
<mat-label>Search</mat-label>
<input
matInput
(keyup)="applyFilter($event)"
placeholder="Search"
#input
/>
</mat-form-field>
我的打字稿文件:
applyFilter(event: Event) {
let filterValue = (event.target as HTMLInputElement).value;
this.filterValue = filterValue;
console.log(filterValue);
this.dataSource.searchResults(this.filterValue);
}
还有我的数据源:
searchResults(name: string) {
this.appService.searchPatient(name).subscribe((data: any) => {
if (data) {
this.totalPatientsCountSubject.next(data);
this.patientsSubject.next(data);
console.log(data);
}
});
}
我的 service.ts:
public searchPatient(name: string) {
return this._httpClient
.get(`http://api.dentist.techup.me/patient/search/by/name?name=${name}`)
.pipe(
map((data: any) => {
return data.result;
}),catchError(this._handleError)
);
}
任何帮助将不胜感激! 提前致谢!
解决方法
好的,看看服务方法的名称 /search/by/name 我几乎 100% 肯定这不会被认为是意义上的过滤器“reduce匹配条目的列表” 但它是一种搜索方法,例如“将您能找到的所有条目交给我……”。
总结一下:当你什么都不输入时得到一个空列表似乎是完全没问题的。此方法仅返回输入字符串的匹配项。当没有要搜索的字符串时,它不会返回任何内容。
也许您可以访问一些有关 API 的文档。必须有另一种方法来收集所有条目的完整、未经过滤的列表。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。