2017-04-18 1 views
0

私は、パスワードビュー/ notviewイオンv2のボタンをdiferentために同じ機能をバインド

のために目のアイコンボタンを作成したが、私は、このページでは、「回復パスワード」ページ

する必要がページがあります同じボタンが付いた3つの入力があります...

クリックすると、すべてがトグルします。

それぞれを同じ機能に個別にバインドするにはどうすればよいですか?

コードは、次のとおりです。

HTML

<ion-item> 
    <ion-input placeholder="Senha antiga" [type]="isSenhaView ? 'password' : 'text'"> 
    </ion-input> 
    <button ion-button icon-only item-right clear color="light" (click)="toggleSenhaView()"><ion-icon [name]="isSenhaView ? 'eye' : 'eye-off'"></ion-icon> 
    </button> 
</ion-item> 

TS

isSenhaView : boolean = true; 
    toggleSenhaView():void{ 
    this.isSenhaView = !this.isSenhaView; 
    } 

はどうもありがとうございました。

+1

その優れたコンポーネント – Lakshay

+0

私はそのことについて考えましたが、私は本当に方法がわからないを作成しますこのコンポーネントをビルドするには...どのようにする必要がありますか? – GustavoA

答えて

0

コードサンプル:

<ion-item> 
    <ion-input placeholder="Senha antiga" [type]="isSenhaView1 ? 'password' : 
     'text'"> 
    </ion-input> 
    <button ion-button icon-only item-right clear color="light" 
     (click)="toggleSenhaView(1)"> 
     <ion-icon [name]="isSenhaView ? 'eye' : 'eye-off'"></ion-icon> 
    </button> 
</ion-item> 

<ion-item> 
    <ion-input placeholder="Senha antiga" [type]="isSenhaView2 ? 'password' 
     : 'text'"> 
    </ion-input> 
    <button ion-button icon-only item-right clear color="light" 
     (click)="toggleSenhaView(2)"> 
    <ion-icon [name]="isSenhaView ? 'eye' : 'eye-off'"></ion-icon> 
</button> 
</ion-item> 

<ion-item> 
    <ion-input placeholder="Senha antiga" [type]="isSenhaView3 ? 'password' : 
     'text'"> 
</ion-input> 
    <button ion-button icon-only item-right clear color="light" 
    (click)="toggleSenhaView(3)"> 
    <ion-icon [name]="isSenhaView ? 'eye' : 'eye-off'"></ion-icon> 
    </button> 
</ion-item> 



isSenhaView1 : boolean = true; 
isSenhaView2 : boolean = true; 
isSenhaView3 : boolean = true; 

toggleSenhaView(x):void{ 
    switch (x) 
    { 
    case 1: 
     this.isSenhaView1 = !this.isSenhaView1; 
     break; 
    case 2: 
     this.isSenhaView2 = !this.isSenhaView2; 
     break; 
    case 3: 
     this.isSenhaView3 = !this.isSenhaView3; 
     break;     
    } 
+0

これはうまく動作しますが、もっと動的なものを考えていました。 – GustavoA

2

あなたはeasylyあなたの関数内で3つのブール値を使用することができます

isSenhaView : boolean = true; 
isSenhaView2 : boolean = true; 
isSenhaView3 : boolean = true; 
    toggleSenhaView():void{ 
    this.isSenhaView = !this.isSenhaView; 
    this.isSenhaView2 = !this.isSenhaView; 
    this.isSenhaView3 = !this.isSenhaView; 
    } 
+0

これは醜い解決策です。フィールドごとに論理値を追加する必要があります。@ Lakshayに同意します:コンポーネントを作成する方が良いです。 – Groben

関連する問題