Angular 4:“AbstractControl”类型上不存在属性“push”和“co
发布时间:2020-12-17 07:22:13 所属栏目:安全 来源:网络整理
导读:我从这个链接 http://plnkr.co/edit/yV94ZjypwBgHAlb0RLK2?p=preview实现了代码,但得到了推送和控制错误. 这是我做了什么,不知道它有什么问题. import { Component } from '@angular/core';import { ViewController,Platform } from 'ionic-angular';import
我从这个链接
http://plnkr.co/edit/yV94ZjypwBgHAlb0RLK2?p=preview实现了代码,但得到了推送和控制错误.
这是我做了什么,不知道它有什么问题. import { Component } from '@angular/core'; import { ViewController,Platform } from 'ionic-angular'; import { FormBuilder,FormGroup,Validators,FormControl,FormArray } from '@angular/forms'; @Component({ selector: 'filter-vendor',templateUrl: 'filter-vendor.html' }) export class FilterVendorPage { questions = [{id:1,text:'Question 1',answers:[{id:1},{id:2}]},{id:2,text:'Question 2',answers:[{id:11},{id:22}]}] surveyForm:FormGroup; constructor( private viewCtrl: ViewController,private formBuilder:FormBuilder ){ this.surveyForm=this.formBuilder.group({ question:formBuilder.array([]) }) for(var i=0;i<this.questions.length;i++){ let question=formBuilder.group({ question_id:[this.questions[i].id,Validators.required],answer_id:formBuilder.array([]) }); this.surveyForm.controls['questions'].push(question); } } onChange(id,isChecked,index) { const answers = <FormArray>this.surveyForm.controls.questions.controls[index].controls.answer_ids if(isChecked) { answers.push(new FormControl(id)) } else { let idx = answers.controls.findIndex(x => x.value == id) answers.removeAt(idx) } } } 请帮我解决这个问题.非常感谢
打字稿在类型检查时抱怨.您需要将控件转换为FormArray.所以改变
1) this.surveyForm.controls['questions'].push(question); 至 (<FormArray>this.surveyForm.controls['questions']).push(question); 要么 (this.surveyForm.controls['questions'] as FormArray).push(question); 要么 (this.surveyForm.get('questions') as FormArray).push(question); 2) const answers = <FormArray>this.surveyForm.controls.questions.controls[index].controls.answer_ids 至 const answers = this.surveyForm.get(['questions',index,'answer_ids']) as FormArray; 要么 const answers = this.surveyForm.get(`questions.${index}.answer_ids`) as FormArray; Forked Plunker (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |