gpt4 book ai didi

javascript - 更改嵌套表单中的 FormBuilder 数组项

转载 作者:行者123 更新时间:2023-11-29 19:07:38 27 4
gpt4 key购买 nike

根据 API 文档,更改嵌套值的正确方法是使用方法 patchValue

myForm.patchValue({'key': {'subKey': 'newValue'}});

但如何更改嵌套数组中的值,例如下面这个示例中的汽车 list。如何获取 list 数组的第一项并将 model 更改为 FiestaPlunker

myForm.patchValue({'list': 0: {'model': 'Fiesta'}); 不工作。

@Component({
moduleId: __moduleName,
selector: 'my-app',
template: `<div><pre>{{ myForm.value | json }}</pre></div>`
})
export class AppComponent {

public myForm: FormGroup;

constructor(@Inject(FormBuilder) private _fb: FormBuilder) {

this.myForm = this._fb.group({
name: 'Cars',
list: this._fb.array([
this.initCar(),
this.initCar(),
this.initCar()
]),
});
/** Change value Here **/
this.myForm.patchValue({name: 'Automobile'});
};

initCar() {
return this._fb.group({
automaker: 'Ford',
model: 'Fusion'
});
}
}

Plunker

最佳答案

不久前我做了类似的事情,只是添加。

const patchV = (<FormArray>this.myForm.controls['list']).at(0) as FormArray;
patchV.patchValue({automaker: 'CoolCar', model: 'Bucket'})

工作示例 [plunker] http://embed.plnkr.co/VWicnA/

关于javascript - 更改嵌套表单中的 FormBuilder 数组项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41645677/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com