当过滤器为空时它 returns 空数组
When filter is empty it returns empty array
我需要有关 angular 项目中数据 table 过滤器的帮助。过滤器工作正常,正在过滤 table 中的结果,但是我删除了过滤器字段中的所有字母,它 returns 一个空数据 table,如果我再次输入只有 1 个字母,它用结果填充 table。
这是我的 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% 确定这不被认为是[意义上的过滤器] =16=]"将列表减少到匹配的条目" 但它是一种类似于 "的搜索方法"把你能找到匹配的所有条目给我..."。
总结一下:当您什么都不输入时得到一个空列表似乎完全没问题。此方法 returns 仅匹配输入的字符串。当没有要搜索的字符串时,它不会 return 任何东西。
也许您可以访问一些关于 API 的文档。必须有另一种方法来收集所有条目的完整、未过滤的列表。
我需要有关 angular 项目中数据 table 过滤器的帮助。过滤器工作正常,正在过滤 table 中的结果,但是我删除了过滤器字段中的所有字母,它 returns 一个空数据 table,如果我再次输入只有 1 个字母,它用结果填充 table。
这是我的 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% 确定这不被认为是[意义上的过滤器] =16=]"将列表减少到匹配的条目" 但它是一种类似于 "的搜索方法"把你能找到匹配的所有条目给我..."。
总结一下:当您什么都不输入时得到一个空列表似乎完全没问题。此方法 returns 仅匹配输入的字符串。当没有要搜索的字符串时,它不会 return 任何东西。
也许您可以访问一些关于 API 的文档。必须有另一种方法来收集所有条目的完整、未过滤的列表。