在 Angular 中重置 this.dataSource.filterPredicate

2024-03-08

我正在使用过滤器和选择mat-table,为了使用 select 进行过滤,我在相关字段上使用过滤谓词。

public applyFilter(filterValue: string) {
    this.dataSource.filterPredicate = (data: SP, filter: string) => {
        return data.tag === filter;
    };
    this.dataSource.filter = filterValue;
}

但我也有一个像这样的标准过滤器,用于使用输入字段进行过滤:-

public filter(filterValue: string): void {
    filterValue = filterValue.trim();
    filterValue = filterValue.toLowerCase();
    this.dataSource.filter = filterValue;
}

怎么重置原来的filterPredicate以便第二个过滤器开始运行?


声明组件级变量defaultFilterPredicate并将其设置为开ngOnInit

defaultFilterPredicate?: (data: any, filter: string) => boolean;

ngOnInit() {
  this.defaultFilterPredicate = this.dataSource.filterPredicate;
}

然后当需要重置时,只需将其设置回组件首次加载时的状态即可,即默认值。

this.dataSource.filterPredicate = this.defaultFilterPredicate;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Angular 中重置 this.dataSource.filterPredicate 的相关文章

随机推荐

  • 如何编写一个 C++ 程序来过滤掉非整数?

    像这样的东西 cout lt lt Enter the number of columns cin gt gt input while input int cout lt lt endl lt lt Column size must be
  • 偏移日期时间解析

    需要从格式解析日期时间2016 06 24T13 39 44 687680 第一步使用 尝试用线路解析没有微秒的时间 System out println OffsetDateTime parse 2011 12 03T10 15 30 D
  • 使用 C++ 实现 Android 事件处理程序

    我有一个 Java 布局设计 目前正在通过 JNI 移植到 C 我实际上已经完成了这一点 但我目前对如何设置事件处理程序 例如 setOnClickListener 感到困惑 我已经经历过JNI规范 https docs oracle co
  • 快速解码 JPEG 图像的方法

    我需要解码 解压为位图 非常小的 大约 1200 1200 JPEG 问题是我需要尽快完成 我尝试过 libjpeg 但速度很慢 我也尝试过 BitmapFactory decodeByteArray 它有点快 但仍然不够快 还有什么其他选
  • 在哪里编辑 mysql 全文停用词列表?

    我看到mysql的全文停用词列表是英文的 考虑到 mysql 在全世界范围内使用 这有点奇怪 无论如何 我将 ft min word len 降低到 3 所以我需要将我的语言中的常用单词添加到此列表中 有人可以告诉我在哪里可以找到它吗 Th
  • Rails 3 日期时间比较与 ActiveRecord 查询中的日期

    我试图在模型中搜索等于特定日期的任何日期 同时忽略时间戳 在 Rails 中我可以简单地执行它DateTime to date somedate 但是我认为在 SQL 中制定起来并不那么容易 因为我无法将 to date 方法应用于整个列
  • S3 Lambda 在 10 分钟后触发双重调用

    我们遇到了由 S3 ObjectCreated Events 触发的 Lambda 的双重 Lambda 调用 那些双重调用发生exactly第一次调用后 10 分钟 不是第一次尝试完成后 10 分钟 而是第一次调用发生后 10 分钟 原始
  • 以随机顺序迭代数组[重复]

    这个问题在这里已经有答案了 给定一个序列N元素 比如std vector or T 是否有任何有效的方法可以按随机顺序迭代其元素 仅访问每个元素一次 该解决方案必须避免创建带有打乱索引的附加数组 EDIT 我们还需要能够跟踪原始索引 不是特
  • 将决策边界拟合到 R 中的逻辑回归模型

    我正在努力使用 ggplot 在 R 中绘制决策边界 我有两个变量 考试成绩 和一个学生是否被录取的二元分类 数据如下所示 gt head exam data Exam1Score Exam2Score Admitted 1 34 6236
  • addLoadEvent 无助于解决 onload 冲突

    我使用流行的 addLoadEvent 进行所有 JS 加载 如下所示 function addLoadEvent func var oldonload window onload if typeof window onload funct
  • 如何在 R kableextra 中将 kable 标题/标题居中,同时保持行左对齐

    我想让表格的标题 标题 居中 但列的值保留分配 我还希望我的标题被分成两行 并且每行都居中 align选项以相同的方式更改它们 head mtcars gt kbl caption first row second row align l
  • ggplot2 3.1.0 中的自定义 y 轴刻度和辅助 y 轴标签

    Edit 2 ggplot2 package 的当前开发版本确实解决了我在下面的问题中提到的错误 使用安装开发版本 devtools install github tidyverse ggplot2 Edit 这似乎是错误的行为sec ax
  • Rails、RVM、Apache、Passenger 错误 - SpawnManager 权限在 2.3.11 中被拒绝

    我使用 Passenger 时遇到以下错误 这似乎只有在使用 2 3 11 时才会出现问题 我怎样才能解决这个问题 Passenger ERROR ext common ApplicationPool SpawnManager h 220
  • 使用android和php进行套接字编程[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在尝试创建一个使用套接字连接到
  • Yii:按 id ASC 选择最后 20 个条目

    我想获取表中最后 20 个条目 但按 ID 升序排序 在 Sql 中 这并不是很复杂 SELECT FROM SELECT FROM comments WHERE postID id ORDER BY id DESC LIMIT 20 t
  • 在节点中测试失败的请求

    我有一些代码如下所示 var request require request function Service this config require path to config json Service prototype doThin
  • MySQL 函数将工作日数添加到 DATETIME

    我需要一个 MySQL 函数 它允许我传递多个工作日 周一至周五 和开始日期或日期时间 对我的实现来说并不重要 并让它返回一个新的日期或日期时间多个工作日将来 例子 SELECT AddWorkDays 10 2013 09 01 假设 2
  • Angular IE9 文件上传不起作用

    我使用这种方式上传文件
  • 最好的 GRID 和 TREE 控件是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Angular 中重置 this.dataSource.filterPredicate

    我正在使用过滤器和选择mat table 为了使用 select 进行过滤 我在相关字段上使用过滤谓词 public applyFilter filterValue string this dataSource filterPredicat