【发布时间】:2021-10-05 21:20:11
【问题描述】:
我是 Angular 的新手,job.job_company_companyName、the job.job_company.location 和 job.jobTitle,它们都工作/可以基于过滤器进行搜索:但是当我添加带有问号的 Jobs 对象时 (? ) 例如:job.job_details?.jobCountry 和 job.job_details?.jobCity? 它们没有被过滤,除了下面的两行之外,上面的 3 行正在被过滤。你认为我应该怎么做才能让这件事发挥作用?改变什么为什么带问号的属性不能正常工作。有任何想法吗?将不胜感激!
这是我的 search.component.ts
this.filteredList$ = combineLatest(this.list$, this.filter$).pipe(
map(([jobs, filterString]) =>jobs.filter(job =>
job.job_company.companyName.toLowerCase().indexOf(filterString.toLowerCase()) !== -1 ||
job.jobTitle.toLowerCase().indexOf(filterString.toLowerCase()) !== -1 ||
job.job_company.location.toLowerCase().indexOf(filterString.toLowerCase()) !== -1 ||
job.job_details?.jobCountry.toLowerCase().indexOf(filterString.toLowerCase()) !== -1 ||
job.job_details?.jobCity?.toLowerCase().indexOf(filterString.toLowerCase()) !== -1
)),
tap(filtered => {
this.allJobs = filtered;
return this.jobsChunk = filtered.slice(0, 9)
})
);
这里jobs.model.ts
export interface Jobs {
jobsId: string;
jobTitle: string;
job_details?: JobDetails;
job_package: JobPackage;
job_status: JobStatus;
job_company: CompanyProfile;
createdDate?: string;
}
export interface JobDetails {
jobCity?: string;
jobCountry: string;
jobType: string;
jobCategory: string;
jobTags: string[];
jobDescription: string;
}
export interface CompanyProfile {
companyName: string;
location: string;
}
【问题讨论】:
-
你能准确描述什么不起作用吗?并且最好知道您正在执行此地图功能的数据。
-
您好西蒙,感谢您的回复。我编辑了内容,但不起作用的是当我添加行 job_details 时它的过滤不起作用?其中明显有问号?我想知道为什么当我添加两行时过滤不起作用并且过滤器也不能与带有问号的属性一起使用。
标签: angular angular-maps