2017-06-30 1 views
-1

Alles, was ich tun möchte, ist deaktivieren Eingabefeld "toDate" in meinem Formular, wenn der Benutzer wählt roeType als "Daily ROE" aus dem Dropdown. Wie dies zu erreichen ist Modell getrieben Formen von angular2.wie bedingte Formulare erstellen?

createAddROEForm() { 
this.addRoeForm = this.formBuilder.group({ 
    roeTypeId: [], 
    roeType: [], 
    roeSource: [], 
    supplierName: [], 
    fromDate: [], 
    toDate: [{value:'', disabled:(this.addRoeForm.value.roeType='Daily ROE')}], 
    status: [], 
    reason: [], 
    companyMarket: [], 
    productCategory: ['',Validators.required], 
    productSubType: ['',Validators.required], 
    productName: ['',Validators.required], 

}) 

Antwort

0
toDate: [{value:'', disabled: this.addRoeForm.value.roeType==='Daily ROE'}], 
0
<form [formGroup]='addRoeForm'> 
<select (change)="dummyMethod()"> 
<option></option> 
<select> 
</form> 

Von HTML ein Verfahren in diesem Fall rufen dummyMethod()

dummyMethod(){ 
if(this.addRoeForm.get('roeType').value == 'Daily ROE'){ 
this.addRowForm.controls.toDate.disable(); 
}} 

und die Methode innerhalb der Klasse der component.ts Datei definieren.

Verwandte Themen