用途:在 Angular 应用中处理表单相关开发,包括响应式表单、模板驱动表单、表单校验与表单数据获取。
主要能力与要点:
- API 变化:支持信号驱动的表单控件(Angular 19+ 集成);推荐使用函数式校验器而非类校验器;新增 AbstractControl.markAllAsTouched();支持 nonNullable 选项创建非空 FormControl;提供类型化表单(FormGroup 与 FormArray 的完整 TypeScript 支持);类校验器已弃用,建议迁移到函数式校验器。
- 最佳实践:复杂表单优先使用响应式表单,结构、校验与可测试性更好;用 FormBuilder 精简代码;复杂逻辑写自定义校验器;服务端校验用异步校验器并可配 debounceTime;动态字段用 FormArray;用 updateOn 选项优化性能(如 blur 或 submit 时校验);按条件显示校验错误;用 disable() 处理条件禁用字段;用 reset() 正确重置表单。
必要用法示例(保留原样): import { FormBuilder, Validators, ReactiveFormsModule } from '@angular/forms'; form = this.fb.nonNullable.group({ email: ['', [Validators.required, Validators.email]] }); email: ['', { updateOn: 'blur' }]
限制:资料未提供安装命令、版本兼容细节、价格或平台支持范围,暂未提供。