2016-12-26 51 views
1

我有提交一個值這個反應形式,在title反應形式如何提交額外的數據

@Component({ 
    template: ` 
     <form [formGroup]="formGroup" (ngSubmit)="onSubmit()" novalidate> 
      <input class="form-control" placeholder="title" name="title" id="title" formControlName="title" /> 
      <div *ngIf="formGroup.controls['title'].dirty && formGroup.controls['title'].invalid">This is required</div> 
      <button type="submit">Create</button> 
     </form> 
    `, 
}) 
export class CreateDiscussionComponent { 

    formGroup: FormGroup; 

    constructor() { 
     this.formGroup = new FormGroup({ 
      title: new FormControl('', [Validators.required, Validators.minLength(1)]) 
     }); 
    } 
    onSubmit(): void { 
     console.log('form value', this.formGroup.value) 
    } 
} 

如果我想額外default值添加到formGroup對象?像類型:'討論'。

所以,當我提出我希望這樣的事情在控制檯

{title:'bla bla bla', type:'discussion'} 

如何做到這一點?

https://plnkr.co/edit/RY62cBHMTLLjaDCIA6mc?p=preview

+0

你是什麼意思的默認值? –

+0

無論標題是什麼,類型將被平等地討論。像這樣{title:'這只是字符串',輸入:'disucssion'} –

回答

3

構造就改成這樣:

constructor() { 
     this.formGroup = new FormGroup({ 
      title: new FormControl('', [Validators.required, Validators.minLength(1)]), 
      type : new FormControl('discussion') 
     }) 
    } 
1

你可以做到以下幾點,在FormGroup定義添加的類型,並在的onsubmit()方法中設置的值。像這樣:

formGroup: FormGroup; 

constructor() { 
    this.formGroup = new FormGroup({ 
     title: new FormControl('', [Validators.required, Validators.minLength(1)]), 
     type: new FormControl('') 
    }); 
} 
onSubmit(): void { 
    (<FormControl>this.formGroup.controls['type']).setValue("discussion"); 
    console.log('form value', this.formGroup.value) 
} 

讓我知道如果這符合您的需求!

相關問題