我正在使用Ionic2 rc4。我有一個登錄表單。Ionc2/Angular2頁面沒有反映變化
正如你所看到的,Sign In
按鈕被禁用。
我的問題是它應該只在窗體無效時被禁用。但是,當表格有效時,即有Email
和Password
,它不應被禁用。
當我輸入Email
和Password
時,它保持禁用狀態,但是如果我將焦點從瀏覽器切換回來,然後回到它,它將被啓用。就好像頁面沒有刷新到正確的狀態。
問題
是否有一種方式來獲得的形式是有效的這立即啓用?
loginemail.html
<ion-header>
<ion-navbar>
<button ion-button menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
<ion-title>Login</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<form [formGroup]="loginForm" (ngSubmit)="submit()">
<ion-item>
<ion-label floating>Email</ion-label>
<ion-input type="text" formControlName="email" id="email" [(ngModel)]="personModel.emailAddress"></ion-input>
</ion-item>
<control-messages class="error-box" [control]="loginForm.controls.email"></control-messages>
<ion-item>
<ion-label floating>Password</ion-label>
<ion-input type="password" formControlName="password" id="password"></ion-input>
</ion-item>
<control-messages class="error-box" [control]="loginForm.controls.password"></control-messages>
<br/>
<ion-buttons>
<button ion-button class="form-button-text" type="submit" [disabled]="!loginForm.valid" block round>Sign In</button>
</ion-buttons>
</form>
<br/><br/>
<p (click)="forgotPassword()" class="small-text">Forgot email or password?</p>
<br/><br/><br/><br/>
<button ion-button color="light" (click)="register()" color="dark" clear block round class="form-button-text">Quick Sign up</button>
</ion-content>
loginemail.ts
3210UPDATE
按照下面的提醒,我曾嘗試在Promise
包裹火力召喚,但是這不幸的是沒有任何區別。
return new Promise<any>(() => {
this.loginFirebaseUser(this.loginForm.value.email, this.loginForm.value.password).then((authData) => {
let user: firebase.User = this.fireAuth.currentUser;
if (!user) {
this.auth.subscribe((authData) => {
this.login(authData.auth);
});
} else {
this.login(user);
}
}).catch((error) => {
console.error('Error trying to login ', error);
this.loading.dismiss().then(() => {
this.doAlert(error.message);
});
});
});
不幸的是,這沒有什麼區別。 – Richard