当离子选择发生变化时,IONIC 2隐藏并显示文本框

时间:2016-10-23 06:36:06

标签: ionic-framework ionic2

我想在离子选择(组合框)改变时隐藏并显示文本框

例如我有:离子选择中的1和2 如果我选择1,文本框将隐藏,如果我选择2,文本框将出现

这是我目前的代码:

.TS

onChange(membership){
   if (this.membership = '1'){
   this.value = 1; }
       else if (this.membership = '2'){
      this.value = ""; }
 }

HTML

<ion-list>
<ion-item>
<ion-label>Register as</ion-label>
<ion-select [(ngModel)]="membership" (ionChange)="onChange(membership)">
  <ion-option value="1">member</ion-option>
 <ion-option value="2">nonmember</ion-option>
</ion-select>
</ion-item>
</ion-list>

这是我要隐藏的文本框

<ion-item [hidden]="!value">
<ion-label floating>Email Address</ion-label>
<ion-input type="text" name="email"  ></ion-input>
</ion-item>

当我打开应用程序时,文本框正在隐藏,当我从组合框中选择文本框时,但是当我选择组合框中的其他项目时,它不再隐藏了。

1 个答案:

答案 0 :(得分:3)

这只是onChange方法中的一个简单错误。您使用=分配值,因此它始终返回true并将this.value设置为1.您必须使用double equals来验证相等性:

onChange(membership){
    if (this.membership == '1') {
      this.value = 1; 
    } else if (this.membership == '2'){
      this.value = 0; 
    }
}