【问题标题】:Angular reactive form filter list of checkboxesAngular 反应式表单过滤器列表
【发布时间】:2019-03-14 16:30:48
【问题描述】:

我有一个复选框列表和一个输入字段。 每个复选框都有一个名称。

我想使用输入字段中的值按名称过滤列表。 预期的结果是只有那些复选框是可见的,其名称包含在输入字段中键入的文本。

这在 AngularJS 中非常简单,使用 Angular 的模板驱动表单也很容易做到。

但我需要以反应形式进行。 我到底该怎么做?

示例代码:https://stackblitz.com/edit/angular-checkbox-list-filter

【问题讨论】:

  • 你能把你的代码添加到 stackblitz 中吗?并提供一些详细的解释
  • 当然!现在有一个 Stackblitz 示例。

标签: angular forms


【解决方案1】:

您可以将复选框列表设为 Observable,并在用户每次搜索时更改可观察对象的值。或者您可以存储两个副本。第一个将保存复选框的主列表,第二个将保存根据搜索词过滤的结果。

根据方法 2 进行了一些调整以帮助您入门。seen here

  • 我调整了 HTML 以循环通过“filtered_data”变量。
  • 此变量在表单控件值更改时得到更新。使用 一个正则表达式“不区分大小写”模式,用于匹配每个名称 盒子
  • 我还添加了逻辑,以便在您清除所有控件时重置所有控件 输入字段。

希望这足以让您入门。

如果您需要使其成为可观察的,请联系。

【讨论】:

  • 最好干净!!非常感谢
【解决方案2】:

在表单数组中再创建一个名称表单控件。这样您就可以知道哪个框被选中或没有按名称。

Angular Code with checkboxes

【讨论】:

  • 谢谢,但这根本不能回答问题。我在问如何过滤列表。
猜你喜欢
  • 2021-01-12
  • 2016-02-10
  • 1970-01-01
  • 1970-01-01
  • 2017-09-24
  • 2023-01-18
  • 2020-05-05
  • 2019-05-04
相关资源
最近更新 更多