在Angular中,如果要将值推送到具有数组作为值的表单控件,可以使用FormArray来实现。FormArray是一个特殊的FormControl,它允许我们在表单中动态添加和删除多个FormControl。
下面是一种将值推送到具有数组作为值的表单控件的方法:
import { Component, OnInit } from '@angular/core';
import { FormArray, FormControl, FormGroup } from '@angular/forms';
@Component({
selector: 'app-my-form',
templateUrl: './my-form.component.html',
styleUrls: ['./my-form.component.css']
})
export class MyFormComponent implements OnInit {
myForm: FormGroup;
ngOnInit() {
this.myForm = new FormGroup({
myArray: new FormArray([])
});
}
}
<form [formGroup]="myForm">
<div formArrayName="myArray">
<div *ngFor="let control of myForm.get('myArray').controls; let i = index">
<input [formControlName]="i">
</div>
</div>
</form>
addControl() {
const control = new FormControl();
(this.myForm.get('myArray') as FormArray).push(control);
}
<button (click)="addControl()">Add Control</button>
这样,每次点击按钮时,就会向表单中的FormArray添加一个新的FormControl,从而实现将值推送到具有数组作为值的表单控件。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云云数据库MySQL。腾讯云云服务器提供了可靠、安全、高性能的云计算服务,可满足各种规模和业务需求。腾讯云云数据库MySQL是一种高性能、可扩展的关系型数据库服务,适用于各种应用场景。
腾讯云云服务器产品介绍链接地址:https://cloud.tencent.com/product/cvm 腾讯云云数据库MySQL产品介绍链接地址:https://cloud.tencent.com/product/cdb_mysql
领取专属 10元无门槛券
手把手带您无忧上云