2016-11-05 1 views
0

次のHTML試してみてください:以下のコントローラクラスでIonic2は、フォームコントロールを無効にしません

<ion-content class="home"> 

    <ion-list> 
    <form [formGroup]="consoleTypeForm"> 
     <ion-item> 
     <ion-label>Gaming</ion-label> 
     <ion-select FormControlName="consoleType" (ionChange)="printSV($event)"> 
      <ion-option value="nes">NES</ion-option> 
      <ion-option value="n64">Nintendo64</ion-option> 
      <ion-option value="ps">PlayStation</ion-option> 
      <ion-option value="genesis">Sega Genesis</ion-option> 
      <ion-option value="saturn">Sega Saturn</ion-option> 
      <ion-option value="snes">SNES</ion-option> 
     </ion-select> 
     </ion-item> 
     <ion-item> 
     <ion-label stacked>Business Name</ion-label> 
     <ion-input formControlName="myConsole" type="text"></ion-input> 
     </ion-item> 
    </form> 
</ion-list> 

</ion-content> 

:「myconsoleというの仕事を無効にするオプションの

import { Component } from '@angular/core'; 
import { NavController, MenuController } from 'ionic-angular'; 
import { FormBuilder, FormGroup, Validators } from '@angular/forms'; 

@Component({ 
    templateUrl: 'home.html' 
}) 
export class HomePage { 
    consoleTypeForm: FormGroup; 

    constructor(public nav: NavController, 
       public menu: MenuController, 
       public formBuilder: FormBuilder) { 
    this.consoleTypeForm = formBuilder.group({ 
     consoleType: ['', Validators.required], 
     myConsole: [''] 
    }); 
    } 

    printSV(value) 
    { 
    const ctrl = this.consoleTypeForm.controls['consoleType']; 
    const ctrlToBeDisabled = this.consoleTypeForm.controls['myConsole']; 

    ctrlToBeDisabled.enable(false); 
    ctrlToBeDisabled.disable({ onlySelf: true }); 
    ctrlToBeDisabled.disable(true); 
    ctrlToBeDisabled.disable(); 
    } 
} 

なし。誰かが間違いを指摘できますか?または、これは大きいですか?

イオンFrameworkバージョン:2.0.0-rc.2、 イオンCLIバージョン:2.1.0 イオンのApp Libのバージョン:2.1.0-beta.1

答えて

0

私は、コードを実行されていませんが、

ionViewDidLoad() { 
    this.consoleTypeForm = formBuilder.group({ 
    consoleType: ['', Validators.required], 
    myConsole: [''] 
    }); 
} 

FormControlName="consoleType"は私がionViewDidLoad()ライフサイクルメソッドにFormGroupを作成置きたいformControlName="consoleType"

をお読みください:読書から私は、少なくとも2つのことを指摘します

コンストラクタで問題が発生しているかどうかはわかりませんが、サンプルコードを読んでくれて、私にとってはうまくいきます。

control.disable(); 

または

control.disable({onlySelf: true}); 

:私は無効にしようと思いますことから、

/** 
* Disables the control. This means the control will be exempt from validation checks and 
* excluded from the aggregate value of any parent. Its status is `DISABLED`. 
* 
* If the control has children, all children will be disabled to maintain the model. 
*/ 
disable({onlySelf, emitEvent}?: { 
    onlySelf?: boolean; 
    emitEvent?: boolean; 
}): void; 

AbstractControlの型定義は、コントロールを無効にする方法を、次のいそれが助けられたかどうか教えてください。そして、Plunkrを作成して、コードで遊ぶことができたら教えてください。

関連する問題