标签: angular-abstract-control

角度中的 FormControl 和 AbstractControl 问题

我正在学习在线课程,但遇到很多问题。

我取决于我输入我得到的代码

类型“abstractcontrol”缺少类型“formcontrol”中的以下属性:registerOnChange、registerOnDisable、_applyFormState

或者

Abstractcontrol 类型不可分配给 formcontrol 类型

在我的组件的 TS 中我有

import { Component, EventEmitter, OnInit, Output } from '@angular/core';
import {  FormBuilder, FormGroup } from '@angular/forms';
import { DestinoViaje } from '../models/destino-viaje.model';

@Component({
  selector: 'app-form-destino-viaje',
  templateUrl: './form-destino-viaje.component.html',
  styleUrls: ['./form-destino-viaje.component.css']
})
export class FormDestinoViajeComponent implements OnInit {

  @Output() onItemAdded: EventEmitter<DestinoViaje>;
  fg: FormGroup;

  constructor(fb: FormBuilder) {
    this.onItemAdded = new EventEmitter();
    this.fg = fb.group({
      nombre: [''],
      url: ['']
    });
    console.log(this.fg);

  }

  ngOnInit(): void {


  }

  guardar(nombre: string, url: string): boolean {
    let …
Run Code Online (Sandbox Code Playgroud)

forms form-control angular angular-abstract-control

5
推荐指数
1
解决办法
9170
查看次数

如何以角度访问 *ngFor 中 FormGroup 的 formArray?

我正在使用 FormArray 来使用嵌套 FormControl。我的表格是这样的:

let form = new FormGroup({
   name: new FormControl(),
   email: new FormControl(),
   Addresses : new FormArray([
      new FormGroup({
         building: new FormControl(),
         society : new FormControl(),
      }),
      new FormGroup({
         building: new FormControl(),
         society : new FormControl(),
      })
      new FormGroup({
         building: new FormControl(),
         society : new FormControl(),
      })
   ])
})



addNewAddress() {
   let newAddress = new FormGroup({
      building: new FormControl(),
      society : new FormControl(),
   });
   this.form.get("addresses").push(newAddress)
}
Run Code Online (Sandbox Code Playgroud)

并在 HTML 模板中

<div *ngFor="let controlGroup of form.get('addresses').controls; let i=index">
   <ng-container [formGroup]="controlGroup"> …
Run Code Online (Sandbox Code Playgroud)

angular formarray formgroups angular-abstract-control

3
推荐指数
1
解决办法
3195
查看次数

错误:“AbstractControl”类型缺少“FormGroup”类型中的以下属性:controls、registerControl、addControl、removeControl、

我使用 android 制作了一个天气 API Web 应用程序,

链接:- https://stackblitz.com/edit/maximlweatherapp

应用程序网址:- https://maximlweatherapp.stackblitz.io

我在我的 Visual Studio 代码中使用了相同的代码,它运行良好,没有出现任何错误,但在 StackBlitz 中,它出现了错误两者的唯一区别是,在我的 Visual Studio 中,安装了 Angular 版本 8,但我在这里使用 Angular 版本 9,请任何人看到代码有什么问题并建议我做一些更改,

Visual Studio Code 输出的我的工作结果 Visual Studio Code 输出的我的工作结果。

angular angular-abstract-control

2
推荐指数
1
解决办法
1289
查看次数

选择器确定 FormArray 的控件属性是 [FormControl] 还是 [FormGroup]?

我继承了一个正在调试的角度代码文件。当我记录需要评估的 FormArray 时,它会记录为两种类型的 FormArray 控件之一:[FormControl] 或 [FormGroup]。

这是我正在记录的函数的一部分:

  someFunction(data: any, useForm: any = false): any {
   const form = useForm || <FormGroup>this.formGroup;

   forEach(data, (value, key) => {
    // Check nested FormArray items that include FormControls (Would likely be from mat-table).
   const formArray = (<FormGroup>form).get(String(key));
   console.log('formArray > ', formArray);

   if (isArray(value) && formArray.hasOwnProperty('controls') && [HELP]) 
Run Code Online (Sandbox Code Playgroud)

在一个用例中,当加载包含表单控件的 mat-table 时,我会在日志中看到以下内容:

在此输入图像描述

在另一个用例中,例如具有多个选项的复选框控件,我得到以下结果:

在此输入图像描述

我需要弄清楚如何过滤最后一行代码,即 IF 语句的 [HELP] 条件,以便它仅匹配 FormArray 的控件属性包含 [FormGroup] 而不是 [FormControl] 的条件

angular formarray angular-abstract-control

2
推荐指数
1
解决办法
1758
查看次数