我正在学习在线课程,但遇到很多问题。
我取决于我输入我得到的代码
类型“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) 我正在使用 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)
<div *ngFor="let controlGroup of form.get('addresses').controls; let i=index">
<ng-container [formGroup]="controlGroup"> …Run Code Online (Sandbox Code Playgroud) 我使用 android 制作了一个天气 API Web 应用程序,
链接:- https://stackblitz.com/edit/maximlweatherapp
应用程序网址:- https://maximlweatherapp.stackblitz.io
我在我的 Visual Studio 代码中使用了相同的代码,它运行良好,没有出现任何错误,但在 StackBlitz 中,它出现了错误两者的唯一区别是,在我的 Visual Studio 中,安装了 Angular 版本 8,但我在这里使用 Angular 版本 9,请任何人看到代码有什么问题并建议我做一些更改,
我继承了一个正在调试的角度代码文件。当我记录需要评估的 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] 的条件