微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我的一根过滤管没有显示结果?

如何解决为什么我的一根过滤管没有显示结果?

我为 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>

table-filter.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));
        } else if (key == "edob") {
              return new Date(new Date(filters[key]).setHours(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;
    } 

https://angular-ivy-ehrh4h.stackblitz.io

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。