當我顯示登錄表單時,它將重點放在密碼字段而不是電子郵件字段上。我嘗試了幾種不同的解決方案,專注於電子郵件領域,但他們都離開了頁面。一個是內置於離子的「自動聚焦」指令。我還發現了「調焦」指令這裏:https://blog.thecodecampus.de/ionic-2-set-focus-input-element/Ionic2:您如何選擇頁面時要關注哪個輸入?
這裏我單擊電子郵件/密碼以打開的形式,收集電子郵件地址和密碼。當窗體打開時,焦點在密碼上。我嘗試了將focuser和autofocus添加到電子郵件指令的所有組合,並且它可以工作,但會造成不專業的生澀UX;沒有準備好黃金時段。
HTML
<ion-content>
<br>
<h1 class="newheadertwo">Sign in or sign up.</h1>
<p class="p2">Use Facebook or your email and password to get started.</p>
<br><br>
<ion-list no-lines *ngIf="!formActive">
<ion-grid>
<ion-row>
<ion-col>
<button class="fb-button" (click)="FBLogin()">Facebook Connect</button>
<br>
<button class="signup-button" (click)="showForm()">Email/Password</button>
<br>
<a (click)="password-retrieve" (click)="forgotPassword()">Forget your password?</a>
<br>
<button *ngIf="person" class="login-button-two" (click)="logout()">Log Out</button>
</ion-col>
</ion-row>
</ion-grid>
</ion-list>
<form (ngSubmit)="signUpLogin()" *ngIf="formActive">
<ion-list class="clearbackground">
<ion-item>
<ion-label floating class="input-label">Email Address</ion-label>
<ion-input [(ngModel)]="email" required="required" type="email" maxlength="200" name="email"></ion-input>
</ion-item>
<br>
<ion-item>
<ion-label floating class="input-label">Password</ion-label>
<ion-input [(ngModel)]="password" required="required" type="password" maxlength="200" name="password"></ion-input>
</ion-item>
<br>
<p class="p3">By joining, you agree to the CashPass <a (click)="terms()">Terms</a> and <a (click)="privacy()">Privacy Policy</a>.</p>
</ion-list>
<button type="submit" class="signup-button">Sign in/Join now</button>
</form>
<br>
<ion-row *ngIf="formActive">
<ion-col>
<a (click)="password-retrieve" (click)="forgotPassword()">Forget your password?</a>
</ion-col>
</ion-row>
</ion-content>
感謝您對此的反饋,但我得到輸入爲空。我不清楚你的意思是什麼:「刪除你爲自動對焦編寫的所有代碼。如果你可以增加一些清晰度,那麼我將不勝感激,否則我會繼續修改。 – rashadb
刪除所有你之前的自動對焦工作試過。代碼如果你還是不明白,只是嘗試先在另一頁上這樣做。另外,你加入'ID =「輸入」'在標籤?另外,我剛剛看到 –
你有'formActive'標誌在表格的'ngIf'中檢查過,你在哪裏設置它爲真?這也會影響自動對焦的事情。我猜你在點擊'Show Form'按鈕後設置它是真的。這種情況下,移動ngAfterViewInit()的'這個代碼'的方法'showForm()'後你設置'formActive'爲true。 –