angular - 为什么我的一个过滤管没有显示结果?
问题描述
我为 DL 添加了另一个过滤器。但是我的 DL 过滤器没有显示结果。您能否建议我需要进行哪些更改?
<div class="form-group float-left mr-4">
<strong>DL</strong>
<br />
<select class="form-control form-control-sm" name="dl" ngModel [ngModelOptions]="{updateOn: 'submit'}">
<option></option>
<option value="CAT1">CAT1</option>
<option value="CAT2">CAT2</option>
</select>
</div>
表过滤器.pipe.ts
import { Pipe, PipeTransform } from "@angular/core";
@Pipe({
name: "tableFilter"
})
export class TableFilterPipe implements PipeTransform {
transform(list: any[], filters: any) {
const keys = Object.keys(filters).filter(key => filters[key]);
const filterUser = (user: { [x: string]: any; }) =>
keys.every(key => {
if (key == "sdob") {
return new Date(user["dob"]) >= new Date(new Date(filters[key]).setHours(0,0,0,0));
} else if (key == "edob") {
return new Date(new Date(filters[key]).setHours(0,0,0,0)) >= new Date(user["dob"]);
} else {
return user[key] === filters[key];
}
});
return keys.length ? list.filter(filterUser) : list;
}
}
网址:https ://stackblitz.com/edit/angular-ivy-dubf37?file=src%2Fapp%2Fapp.component.html
解决方案
else if
在您的过滤器中再添加一个:
else if (
key === "dl" &&
user["assigned_to"].filter(e => e.dl === filters[key]).length
) {
return user;
}
推荐阅读
- javascript - 连接建立错误:尝试建立并连接到 websocket 服务器时抛出 net::ERR_SSL_PROTOCOL_ERROR
- vb.net - 按顺序制作幻灯片
- swift - 健全性检查:将代码提取到功能中断程序
- lua - 模块中的功能忙时网络服务器未接收
- python - pandas 和 seaborn 的堆积密度图
- mongodb - MongoDB:根据现有字段值更新集合中的嵌套值
- google-maps - 嵌入在 Bootstrap 4.2.1 中的谷歌地图
- angular - 如何使用 Angular Material 作为核心模块
- java - 在java中读取时如何识别java中数据文件中的特殊字符?
- java - 如何检查以毫秒为单位的给定时间是否是昨天?