我是Angular job.job_company_companyName
、thethe job.job_company.location
和除了下面的两行之外,上面的 3 行正在被过滤。你认为我应该怎么做才能让这件事发挥作用?改变什么为什么带问号的属性不能正常工作。有任何想法吗?将不胜感激!job.jobTitle
job.job_details?.jobCountry
job.job_details?.jobCity?
这是我的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;
}