根据此帖子:How can I filter results based on multiple selections from dropdown?
,如果两个选择的值来自彼此不相邻的列怎么办?
例如,如果两个下拉列表是“ name”和“ symbol”?
dataSource.filter是否将通配符作为输入?像“氢* H”
如果没有,我们如何实现此功能以便执行AND运算符?
答案 0 :(得分:0)
只需使用类似的功能
customFiltered() {
return (data, filter) => {
if (this.name && this.symbol)
return data.name == this.name && data.symbol == this.symbol
if (this.name)
return data.name == this.name
if (this.symbol)
return data.symbol == this.symbol
return true
}
}
那么您只需要
this.dataSource.filterPredicate =this.customFiltered();
其中变量this.name和this.symbol是您选择的[[ngModel)]
您可以在stackblitz
中看到