我想在离子选择(组合框)改变时隐藏并显示文本框
例如我有:离子选择中的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>
当我打开应用程序时,文本框正在隐藏,当我从组合框中选择文本框时,但是当我选择组合框中的其他项目时,它不再隐藏了。
答案 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;
}
}