【发布时间】:2021-04-14 00:32:58
【问题描述】:
我有以下要过滤的对象数组
companies = [
{
division: "Company 1",
departments: ["Department 1", "Department 2", "Department 3"]
},
{
division: "Company 2",
departments: ["Department 2", "Department 3", "Department 4"]
},
{
division: "Company 3",
departments: ["Department 3", "Department 4", "Department 5"]
}
...
]
我可以使用单个表单输入上的值更改订阅来过滤除法。
this.myForm.valueChanges.pipe(
debounceTime(400),
distinctUntilChanged(),
tap(val => {
let searchTerm = val.searchString;
this.filteredDivisions = this.companies.filter((company) =>
company.division
.toLowerCase()
.indexOf(searchTerm.toLowerCase()) !== -1)
})
).subscribe()
我被要求根据一个输入过滤部门和部门数组。因此,如果用户键入Department 1,则只会显示公司 1,但用户也可以在同一输入框中键入Company 1,然后也只会显示公司 1。
用户应该能够输入部门或部门来过滤数组。
那么如何设置过滤器来同时过滤部门和部门,使用相同的输入?
【问题讨论】:
标签: angular rxjs angular-forms