Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何通过手动键入数字和使用angular2进行过滤来过滤内容

如何通过手动键入数字和使用angular2进行过滤来过滤内容
EN

Stack Overflow用户
提问于 2018-03-22 03:39:38
回答 1查看 64关注 0票数 2

我总共有4个字段来过滤表格中的内容。如果我在filter部分中添加了2个值,它就能工作,如果我在其中再添加一个字段,甚至一个都不能工作。谁能帮我过滤内容,基于电子邮件和电话号码以及。

HTML:用于使用筛选数据的代码的上部:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<ng-select [options]="name" [(ngModel)]="filter.name"></ng-select>
      <ng-select [options]="email" [(ngModel)]="filter.email"></ng-select>
      <input type="number" onKeyPress="if(this.value.length==10) return false;" class="form-textbox input-text" [(ngModel)]="filter.phone_number">
      <ng-select [options]="pinAddress" [(ngModel)]="filter.address"></ng-select>

用于过滤表的管道:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<tbody>
          <tr *ngFor="let pin of pins | pinfilter:filter">
            <td>{{pin.name}}</td>
            <td>{{pin.description}}</td>
            <td>{{pin.address}}</td>
            <td>{{pin.website}}</td>
            <td>{{pin.phone_number}}</td>
            <td>{{pin.email}}</td>
            <td>{{pin.comments}}</td>
          </tr>
        </tbody>

TS:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
filter.pipe.ts:
/* Tutorial filter to write filter functions for Tutorial*/
import { Pipe, PipeTransform } from '@angular/core';

export class NewPin { 
  public _id:number;
  public user_id:number;
  public name:string;  
  public address:string;
  public phone_number:string;
  public email:string;
  public comments:boolean;
}

@Pipe({
  name: 'pinfilter',
  pure: false
})

export class PinPipe implements PipeTransform { 
  transform(items: NewPin[], filter: NewPin): NewPin[] { 
    if (!items || (!filter.name && !filter.address)) { 
      return items; 
    } 
      return items.filter((item: NewPin) => this.applyFilter(item, filter)); 
  } 

  applyFilter(user: NewPin, filter: NewPin): boolean {
    console.log(filter);
    if (filter.name && filter.address) { 
      if (filter.name == user.name && filter.address == user.address) { 
        return true 
      } else { 
        return false 
      } 
    } else if (filter.name) { 
        if (filter.name == user.name) { 
          return true 
    } else { 
        return false 
      }  
    } else if (filter.address) { 
      if (filter.address == user.address) { 
        return true 
      } else { 
        return false 
      } 
    } else { 
      return true 
    } 
  } 
}

component.ts:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public filter: NewPin = new NewPin();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-22 05:27:35

您需要更改您的applyFilter函数,以便它将根据正在筛选的数据检查所有筛选器属性。

我还建议让它的结构更简单一些,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  applyFilter(user: NewPin, filter: NewPin): boolean {
    console.log(filter);
    // check all the filters
    if (filter.name && filter.name != user.name) { 
        return false; 
    } 
    if (filter.address && filter.address != user.address) { 
        return false 
    }  
    if (filter.email && filter.email != user.email) { 
        return false; 
    }  
    if (filter.phone_number && filter.phone_number != user.phone_number) { 
        return false;
    }  
    // if the user passes all the filters, show it
    return true; 
  } 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49427728

复制
相关文章
在 WordPress 后台如何使用分类和标签进行过滤文章列表?
我们知道默认情况下,WordPress 后台文章列表,可以通过分类进行过滤,那么是否可以通过标签过滤呢?甚至自定义的分类呢?
Denis
2023/04/13
3.5K0
在 WordPress 后台如何使用分类和标签进行过滤文章列表?
如何使用 IP 地理定位进行流量过滤?
网络威胁格局每天都在变化,如今通过网络发起垃圾邮件攻击和其他恶意活动操作行为的背后都是人为在操作。以前针对各种形式的攻击,所采取的传统安全措施已不再适用。随着复杂攻击数量的增加,需要新的安全措施。
埃文科技
2022/08/26
1.9K0
如何使用 IP 地理定位进行流量过滤?
基于linux的嵌入IPv4协议栈的内容过滤防火墙系统(4)-包过滤模块和内容过滤模块
Netfilter是linux2.4内核实现数据包过滤/数据包处理/NAT等的功能框架。它在网络上设置了五个钩(hook),我们可以在我们所需要的一个钩对数据进行过滤,在本程序中,我们对所有进入服务器的数据包进行过滤。
源哥
2018/08/28
9550
基于linux的嵌入IPv4协议栈的内容过滤防火墙系统(4)-包过滤模块和内容过滤模块
如何使用NetLlix通过不同的网络协议模拟和测试数据过滤
NetLlix是一款功能强大的数据过滤工具,在该工具的帮助下,广大研究人员可以通过不同的网络协议来模拟和测试数据过滤。该工具支持在不使用本地API(应用程序编程接口)的情况下执行数据的模拟写入/输出。
FB客服
2023/02/10
1.9K0
如何使用NetLlix通过不同的网络协议模拟和测试数据过滤
如何使用EvtMute对Windows事件日志进行筛选过滤
在这篇文章中,我们将告诉大家如何使用EvtMute来对Windows事件日志进行筛选过滤。EvtMute这款工具允许我们使用YARA来进行攻击性操作,并对已经报告给Windows事件日志的事件进行过滤和筛选。
FB客服
2021/03/09
9080
如何使用EvtMute对Windows事件日志进行筛选过滤
如何使用Pulsar实现数据过滤和安全通信
 关于Pulsar  Pulsar是一款针对数据通信安全的强大工具,该工具可以帮助广大研究人员实现数据过滤和安全(隐蔽)通信,并通过使用各种不同的协议来创建安全的数据传输和聊天隧道。比如说,在Pulsar的帮助下,我们可以通过TCP连接来接收数据,并通过DNS数据包将其转发到真实的数据目的地址。  工具安装&配置  注意:我们需要确保本地设备上安装并配置好了Go v1.8环境,因为Pulsar基于Go语言开发,因此Go环境是构建Pulsar所必备的。 接下来,使用下列命令将该项目代码克隆至本地,并构建Pul
FB客服
2023/04/26
1.2K0
如何使用Pulsar实现数据过滤和安全通信
Kudu使用布隆过滤器优化联接和过滤
在数据库系统中,提高性能的最有效方法之一是避免执行不必要的工作,例如网络传输和从磁盘读取数据。Apache Kudu实现此目的的方法之一是通过使用扫描器支持列谓词。将列谓词过滤器下推到Kudu可以通过跳过读取已过滤行的列值并减少客户端(例如分布式查询引擎Apache Impala和Kudu)之间的网络IO来优化执行。有关详细信息,请参见Impala中有关运行时筛选的文档。
大数据杂货铺
2021/01/22
1.2K0
终端下双重过滤筛选内容
那么问题来了,如果,我们想要查找出同时包含了Ruby和Android的文件路径,怎么办呢,其实不难
技术小黑屋
2020/10/27
8420
使用协同过滤来构建电影推荐系统。
%% Machine Learning Online Class % Exercise 8 | Anomaly Detection and Collaborative Filtering % % Instructions % ------------ % % This file contains code that helps you get started on the % exercise. You will need to complete the following functions:
裴来凡
2022/05/28
3220
使用协同过滤来构建电影推荐系统。
Flex 使用ArrayCollection的FilterFunction进行数据过滤
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"    
用户3135539
2018/09/12
8690
Flex 使用ArrayCollection的FilterFunction进行数据过滤
python如何保证输入键入数字
要求:用python写一个要求用户输入数字,如果不是数字就一直循环要求输入,直到输入数字为止的代码 错误打开方式: while True: ten=input('Enter a number:') if type(eval(ten))==type(int):    break 用这个输入字母可以可是输入字母就直接报错中断了 主要出在eval上。 第一个方案: while True: ten=input("x:") try: x=eval(ten)
marsggbo
2018/01/23
1.5K0
使用Trimmomatic对NGS数据进行质量过滤
Trimmomatic 软件可以对NGS测序数据进行质量过滤,其去除adapter的功能只是针对illumina的序列,从reads的3’端识别adapter序列并去除,相比cutadapt,少了几分灵活性。但是在过滤低质量序列时,采用了滑动窗口的算法,给定窗口长度和步长,如果该窗口内所有碱基的平均质量值低于阈值,则将该窗口及其以后的碱基全部去除。对于数据量很多的reads, 滑动窗口算法比cutadapt的算法运行速度更快。官网如下
生信修炼手册
2020/05/08
3.3K0
使用Trimmomatic对NGS数据进行质量过滤
小程序-云开发-如何对敏感词进行过滤即内容安全的检测(下)
在前面一文小程序-云开发-如何对敏感词进行过滤即内容安全的检测(上)中通过在小程序端请求云函数msgSecCheck1,通过request,request-promise请求微信提供的内容安全接口以及获取access_token,实现了对小程序端输入文本内容安全的检测
itclanCoder
2020/10/28
3.1K0
小程序-云开发-如何对敏感词进行过滤即内容安全的检测(下)
使用fastp对NGS数据进行质量过滤
fastp是最近新出的一款NGS数据质量过滤工具,相比传统的QC工具,有两个主要特点,第一个就是运行速度快,第二个就是提供了质控前后数据详细统计结果。github地址如下
生信修炼手册
2020/05/08
5.6K0
WordPress 首页文章如何使用分类过滤?
这是我碰到最多的需求了,博客首页的文章如何使用分类进行过滤,有些用户只想某几个分类的文章,而有些用户则不想显示某几个分类的文章。
Denis
2023/04/13
1.7K0
WordPress 首页文章如何使用分类过滤?
小程序-云开发-如何对敏感词进行过滤即内容安全的检测(上)
无论是小程序还是自行开发的一些类似社交,带有用户自行产生内容的软件应用,例如:即时通讯,社群,论坛,音视频直播等,对于接入内容安全的检测是非常有必要的
itclanCoder
2020/10/28
3.8K0
小程序-云开发-如何对敏感词进行过滤即内容安全的检测(上)
SpringCloud GateWay通过过滤器GatewayFilter修改请求或响应内容
Spring Cloud Gateway在有些场景中需要获取request body内容进行参数校验或参数修改,我们通过在GatewayFilter中获取请求内容来获取和修改请求体,下面我们就基于ServerWebExchange来实现:
用户8236825
2023/03/27
3K0
使用awk过滤行
被过滤的数据 MarkerName Allele1 Allele2 Freq1 FreqSE P-value Chr Pos rs2326918 a g 8510 0001 5255 6 130881784 rs2439906 c g 0316 0039 8997 10 6870306 rs10760160 a c 5289 0191 8107 9 123
入门笔记
2022/06/02
3.4K0
tcpdump如何对特定的tcp标志位进行过滤
根据tcp保文结构可知,TCP标志头位于头的第14字节中,因为编号从0字节开始,所以TCP标志头在第13字节。
姚华
2022/06/29
1.5K0
tcpdump如何对特定的tcp标志位进行过滤
点击加载更多

相似问题

Apache使用DataTable和手动过滤进行FilterToolbar过滤

11

通过数字列表进行过滤

33

使用html内容进行过滤

16

如何使用OR和and进行过滤

10

如何通过div和detach进行过滤?

40
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文