首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Angular 6中过滤FormArray元素

在Angular 6中过滤FormArray元素的方法如下:

  1. 首先,确保你已经导入了FormsModule和ReactiveFormsModule模块。
  2. 在组件类中,创建一个FormArray对象,并将其初始化为空数组。
代码语言:txt
复制
import { Component } from '@angular/core';
import { FormArray, FormControl } from '@angular/forms';

@Component({
  selector: 'app-example',
  template: `
    <form [formGroup]="myForm">
      <div formArrayName="myArray">
        <div *ngFor="let control of myForm.get('myArray').controls; let i = index">
          <input type="text" [formControlName]="i">
        </div>
      </div>
    </form>
  `,
})
export class ExampleComponent {
  myForm: FormGroup;

  constructor() {
    this.myForm = new FormGroup({
      myArray: new FormArray([])
    });
  }
}
  1. 在组件类中,创建一个方法来过滤FormArray元素。该方法接受一个过滤条件作为参数,并返回一个新的FormArray对象,其中只包含符合条件的元素。
代码语言:txt
复制
import { Component } from '@angular/core';
import { FormArray, FormControl } from '@angular/forms';

@Component({
  selector: 'app-example',
  template: `
    <form [formGroup]="myForm">
      <div formArrayName="myArray">
        <div *ngFor="let control of filteredArray.controls; let i = index">
          <input type="text" [formControlName]="i">
        </div>
      </div>
    </form>
  `,
})
export class ExampleComponent {
  myForm: FormGroup;

  constructor() {
    this.myForm = new FormGroup({
      myArray: new FormArray([
        new FormControl('apple'),
        new FormControl('banana'),
        new FormControl('cherry')
      ])
    });
  }

  get filteredArray(): FormArray {
    const filterValue = 'a'; // 过滤条件,这里假设为字母'a'
    const array = this.myForm.get('myArray') as FormArray;
    const filteredControls = array.controls.filter(control =>
      control.value.includes(filterValue)
    );
    return new FormArray(filteredControls);
  }
}

在上述示例中,我们创建了一个FormArray对象,并将其初始化为包含三个FormControl的数组。然后,我们创建了一个名为filteredArray的getter方法,该方法使用filter函数过滤出符合条件的元素,并返回一个新的FormArray对象。在模板中,我们使用filteredArray来循环显示过滤后的元素。

这是一个简单的示例,你可以根据实际需求来修改过滤条件和FormArray的初始值。同时,你也可以根据需要添加其他表单控件和验证规则。

腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅供参考,具体产品选择应根据实际需求和项目要求进行评估。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Angular系列教程-第四节

1.表单 Angular 提供了两种不同的方法来通过表单处理用户输入:响应式表单和模板驱动表单。...两者都从视图中捕获用户输入事件、验证用户输入、创建表单模型、修改数据模型,并提供跟踪这些更改的途径 使用’@angular/forms’库中的FormGroup, FormControl,FormArray...它会控制那些带有 ngModel 指令和 name 属性的元素,监听他们的属性。...控件的值(获取setvalue和更新) formgroup使用 表单提交 更新部分内容(patchValue) 表单验证(导入Validators,设置字段属性) 表单状态(status) formarray...结构型指令 — 通过添加和移除 DOM 元素改变 DOM 布局的指令,比如ngfor、ngif 属性型指令 — 改变元素、组件或其它指令的外观和行为的指令,比如ngstyle 6.属性型指令 6.1

2.8K50

前端MVC学习总结(二)——AngularJS验证、过滤器、指令

语法格式如下: {{ express | filter:parameter1:p2:p3… | … | …}} 过滤器分了内置过滤器与自定义过滤器,过滤器的调用方式也分了在模板中调用与在函数中调用。...2.1.2、在脚本中调用过滤函数 在函数中调用过滤器的方法是:在控制中添加对$filter的依赖,$filter("过滤函数名称")(被过滤对象,'参数') 示例代码: <!...练习2: 请自定义一个过滤器实现敏感关键字过滤,在过滤器中可以准备一个敏感词数组,将敏感词替换成指定的符号,默认为*号。...3.1.4、不绑定(ngNonBindable) ngNonBindable指令告诉Angular编译或绑定当前DOM元素的内容。...这对于要求Angular忽略那些元素中包含Angular指令和绑定的情况下很有用。这种情况能让你的网站实时显示源码。

15.4K60

第219天:Angular---过滤

Angular中,过滤器的功能主要是格式化数据表达式,且可以自定义过滤器。作用域(scope)主要服务于页面模板,在控制器和页面中起桥梁作用,保存模板中的数据对象,为模板中的元素提供方法和属性。...一、过滤器的表现形式 在angular中有三种变现形式,通过管道字符 “  |  ”,与需要处理的代码进行连接,看代码: 1、单个过滤器,:{{表达式 | 过滤器名}} 货币过滤器     {{8.88...| currency}}  // $8.88 2、多个过滤器,:{{表达式 | 过滤器名1 | 过滤器名2 | ...}}    {{8.88 | currency | filter | ...}}...3、带参数过滤器,:{{表达式 | 过滤器名1 : 参数1 : 参数2 : ...}}    {{8.88 | number : 1}} 二、angular中自带的九种过滤器 1、currency格式化数字为货币格式...', function() { 2 3       //input 需要过滤元素 4 5       //char位置,索引减一 6 7        return function

96640

8-angular 要点温习-1

angualr 要点温习 1、一些 ng 指令 ng-disabled true|false ,规定一个元素是否被禁止,但不会为隐藏 ng-keydown/ng-keypress/ng-keyup ng-mousedown...("A2"), ['app2']); // 手动加载2 script> 复制代码 4、怎么在 angular 架构中创建编译元素 添加新的元素则需要通过编译实现,编译的目的在于让添加的脚本代码支持...(document.getElementById("myDiv")); //jqlite写法 6、过滤器 常用的一些过滤器,也可以自己封装 和 补充 service 来自带参数。...:某属性按从小到大排序 ( orderBy:'-id' , id 降序排列 ) ( orderBy:'id', id 升序排列 ) //自定义过滤器 app.filter('addOne...ng-maxlength设置 $error.pattern,正则表达式需从input中ng-pattern设置 $dirty 表单有填写记录 $pristine 表单没有填写记录 $valid 字段内容合法的,formname

3.2K40

【17】进大厂必须掌握的面试题-50个Angular面试

Angular中的过滤器用于格式化表达式的值,以便将其显示给用户。这些过滤器可以添加到模板,指令,控制器或服务中。不仅如此,您还可以创建自己的自定义过滤器。...通过使用竖线字符|,将过滤器添加到表达式中,然后是过滤器。 14. Angular和jQuery有什么区别?...4.它们支持过滤器。 4.他们不支持过滤器。 18.列出使用核心Angular功能在应用程序模块之间进行通信的方式。...Angular支持创建以下内容的自定义指令: 元素指令 -当遇到匹配的元素时,指令将激活。 属性 -当遇到匹配的属性时,指令将激活。...Karma Angular Mocks Mocha Browserify Sion 38.如何在Angular中创建服务?

41.2K51

AngularJS实战 - 陶国荣 著

【下载地址】 近来,国内开发者对Angular的学习越来越热,有一个非常重要的原因在于Angular框架与以往任何一套前端框架都不同,它的主旨是克服HTML在构建应用上的不足,并补足这些应用的缺陷,...使用大括号语法进行数据绑定、使用DOM控制结构来实现对页面元素的控制等一系列的方法,同时,Angular又是一个完整的端对端的解决方案,可以非常轻松地构建一个CRUD应用,并非常方便地实现测试、发布的功能...通过本书的学习,读者不仅可以全面了解并掌握整个Angular框架的详实内容,而且还能体会到Angular框架强大功能所带来的代码的优化,快速、高效地开发出受人喜爱的Web应用。...本书主要内容: 1.对Angular特点、适用范围、开发环境进行讲解,并开发简单的Angular页面应用; 2.对Angular表达式、控制器、模板中的过滤器、过滤器的应用的详细讲解; 3.对Angular...服务的概念,并讲解服务的创建、管理和在控制器中注入服务; 7.对Angular于服务端的交互、单元测试和交互安全进行了详细的讲解; 8.开发Angular应用时的注意事项和最佳实践; ......

57610

Angular 从入坑到挖坑 - 表单控件概览

一、Overview angular 入坑记录的笔记第三篇,介绍 angular 中表单控件的相关概念,了解如何在 angular 中创建一个表单,以及如何针对表单控件进行数据校验。...从入坑到弃坑 - Angular 使用入门 Angular 从入坑到挖坑 - 组件食用指南 Angular 从入坑到挖坑 - 表单控件概览 三、Knowledge Graph ?...在使用 ngModel 进行模板绑定时,angular 在 form 标签上自动附加了一个 NgForm 指令,因为 NgForm 指令会控制表单中带有 ngModel 指令和 name 属性的元素,而...constructor() { } ngOnInit(): void { } } 在视图模板中,将承接 FormGroup 实例的属性通过 formGroup 指令绑定到 form 元素...FormBuilder 类的方式来简化的完成表单的构建 FormBuilder 服务有三个方法:control、group 和 array,用于在组件类中分别生成 FormControl、FormGroup 和 FormArray

18.9K20

Angular 2 + 折腾记 :(7) 初步了解表单:模板驱动及数据驱动及脱坑要点

首先需要操作表单的模块引入这两个模块; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; ---- 表单控件响应的几种状态...--#UserName 是局部变量,若是有ngmodel,拿到的就是一个响应对象,若是非ngmodel绑定的,则是dom元素代码--> <!...=》 可以理解为获取且可以操作整个表单的数据 FormBuilder:表单数据构建工具[构建初始表单],简化构建代码(包括了new FormGroup(),new FormControl(),new FormArray...} from '@angular/router'; import { AccountService } from '../.....有调整,不然不会生效 // 'UserName':'', [ Validators.compose([Validators.minLength(6)] // v4+ , 第一位的''代表这个元素初始化构建为空值

3.8K20

20个为前端开发者准备的文档和指南8

2.Gethtml 该站点以网格的格式列出了在W3C和WHATWG说明书里所有关于HTML元素元素名和描述。如果你单击某个元素,它也可以链接到说明书上,显示该元素是如何被使用的一些代码示例。 ?...Angular Cheat Sheet(Angular参考手册) 它有一部分是Angular2的官方文档,是一个可以根据JavaScript,TypeScript,和Dart选项来查看相关语法的一站式的网站...Filter Blend(混合过滤) 它是一个用来学习CSS的background-blend-mode和filter属性的交互式地方。 ? 11....ARIA in HTML(在HTML里使用ARIA注释) “它是开发者一个实用的指南,通过使用确定了使得Web内容和Web应用能够被残疾人使用方法的ARIA说明书[WAI-ARIA-1.1]来说明如何在...HTML元素里添加权限通知。”

1.3K50

【Hybrid开发高级系列】AngularJS(一)——基础专题

开发者也可以在局部使用ng-app指令,,则AngularJS脚本仅在该中运行。...同时module也是我们angular代码的入口,首先需要声明module,然后才能定义angular中的其他组件元素controller、service、filter、directive、config...最后,如果传入了第三个参数configFn,则会将它配置到config信息中,当angular进入config阶段时,它们将会依次执行,进行对angular应用或者angular组件service等的实例化前的配置...2.1.5.2 定制过滤器         为了创建一个新的过滤器,先创建一个phonecatFilters模块,并且将定制的过滤器注册给这个模块。...任何 对于模型的更改都会即时反映在视图上;任何在视图上的更改都会被立刻体现在模型中。         想要更加深入理解AngularJS的作用域,请参看AngularJS作用域文档。

51380

AngularJS入门心得3——HTML的左右手指令

指令就是一些附加在HTML元素上的自定义标记(可以是属性A、元素E、css类C),可以通过AngularJS的HTML编译器($compile)对这些标记附加指定的行为,或者操作DOM、改变DOM元素等...1.指令的规范化   在HTML命名规范中,因为不区分大小写,所以类似myCustomer和mycustomer是一样的,那么如何在HTML定义指令呢,常见的可以通过   (1)     加前缀:”x-...: //元素 //属性 <!...这样做可以更容易地看出一个元素是跟哪个指令匹配的。举例来说:   (1)通过元素匹配   index.html: <!...); 在html中声明元素标签,在js中通过”restrict:‘E’”表示是通过元素来匹配。

3.2K50

angularJS的DOM操作

angular.element:将DOM元素或者HTML字符串一包装成一个jQuery元素。...(); angular.element("#span1").addClass('test1'); 注意:在angular[.min].js文件之前引入jQuery文件 <!...注意:一旦在div使用ng-app(ng-app="myApp")时,js就必须申明var myApp = angular.module('myApp', []);,否则会报错误。...三.angular.element方法汇总 addClass()-为每个匹配的元素添加指定的样式类名 after()-在匹配元素集合中的每个元素后面插入参数所指定的内容,作为其兄弟节点 append()...find() - 通过一个选择器,jQuery对象,或元素过滤,得到当前匹配的元素集合中每个元素的后代 hasClass()-确定任何一个匹配元素是否有被分配给定的(样式)类 html()-获取集合中第一个匹配元素

7610

Angular.js学习笔记 (一)

- angular中最重要的概念是指令(directive) - ng-model 是双向数据绑定的指令,效果就是将当前元素的value属性和模型中的[user.name]建立绑定关系 ### 模块(Module...) - 我们可以通过angular.module创建一个模块 - angular.module方法传递两个参数才是创建模块,一个参数是获取模块 ### 控制器(Controller) -常用方法:<html...Batarang,安装后可以在chrome控制台下发现ng调试工具 ### 表达式(expression) {{}} AngularJS表达式很像JavaScript表达式, 它们可以包含 文字、运算符和变量 ...{{ 5 + 5 }} 或 {{ firstName + ‘-’ + lastName }}, 数字{{ 100 + 100 }}, 字符串{{ 'hello' + 'angular'}} , 对象...AngularJS 表达式支持过滤器。

1.6K30
领券