我正在尝试在selectbox更改时将动态值渲染到textarea。但我无法在textarea中呈现,但值的形式发生了变化。值。
我在更改selectbox时尝试动态地为textarea赋值,但textarea值没有变化。当我用{{myForm.value |检查'时,表单值正在改变JSON}}。下面是我在app.component.ts文件中使用补丁值更新textarea值的源代码。 this.myForm.value.users[0].patchValue({street: 'mtmmm'});
我尝试但没有工作任何身体帮助,而选择选择框特定阵列对象我正在尝试将街道分配给textarea它不起作用。
以下是我的源代码网址
CODE URL
以下是我的表单构建器代码:
constructor(private fb: FormBuilder) {
this.myForm = this.fb.group({
users: this.fb.array([])
})
let dataArr = new FormArray([]);
dataArr.push(new FormGroup({
'company': new FormControl(this.users[0].data[0].company),
'address': new FormControl(this.users[0].data[0].address)
}));
let formArr = <FormArray>this.myForm.controls.users;
formArr.push(fb.group({
firstname: this.users[0].firstname,
lastname: this.users[0].lastname,
street: this.users[0].street,
data: dataArr
}));
}
selectarch(cat){
this.test=this.users.filter(data =>data.firstname === cat.target.value);
this.myForm.value.users[0].street=this.test[0].street;
this.myForm.value.users[0].firstname=this.test[0].firstname;
this.myForm.value.users[0].lastname=this.test[0].lastname;
var test = this.myForm.get('users[0].street');
test.setValue('mtmmm');
}
答案 0 :(得分:2)
你需要使用controls
代替value
,所以像这样:
// to avoid error of controls doesn't exist on abstractcontrol:
let arr = <FormArray>this.myForm.controls.users;
arr.controls[0].patchValue({...})
答案 1 :(得分:0)
试试这个:
var test = this.myForm.get('users[0].street');
test.setValue('mtmmm');