angular - Angular 反应式表单过滤器列表
问题描述
我有一个复选框列表和一个输入字段。每个复选框都有一个名称。
我想使用输入字段中的值按名称过滤列表。预期的结果是只有那些复选框是可见的,其名称包含在输入字段中键入的文本。
这在 AngularJS 中非常简单,使用 Angular 的模板驱动表单也很容易。
但我需要以反应形式进行。我到底该怎么做?
代码示例:https ://stackblitz.com/edit/angular-checkbox-list-filter
解决方案
您可以将复选框列表设为 Observable,并在用户每次搜索时更改可观察对象的值。或者您可以存储两个副本。第一个将保存复选框的主列表,第二个将保存基于搜索词的过滤结果。
根据方法 2 进行了一些调整以帮助您入门。见此处
- 我调整了 HTML 以循环通过“filtered_data”变量。
- 此变量在表单控件值更改时得到更新。使用正则表达式“不区分大小写”模式来匹配每个框的名称
- 我还添加了逻辑,以便在清除输入字段时重置所有控件。
希望这足以让你开始。
如果您需要使其成为可观察的,请联系。
推荐阅读
- typescript - ./node_modules/graphql/index.mjs 中的错误 49:0-53:205 无法重新导出命名导出
- object - Vue - v-用于附加计算道具
- dart - Flutter NestedScrollView/SliverAppBar - 不需要的底部边距
- java - 从 FirebaseRecyclerAdapter 获取文档 ID 并将值传递到新页面
- sql - 问:如何从 Oracle 中的 19 位数字中检索带时间(小时、分钟、秒)的日期
- java - 与 Firebase 数据库集成的 Spring 代码在 IDE 上运行良好,但在 Tomcat 上运行良好
- javascript - 同位素:根据宽度重新排序或打乱元素
- java - 如何在 Java 中使用 Selenium Webdriver 获取标签值
- wagtail - “‘根’值必须是整数。” 预览鹡鸰页时
- javascript - TestCafe 在移动 Chrome 模拟器上出现“无法读取未定义的属性‘pageX’”错误