当从 ios 钥匙串加载 username/password 时,Ionic Angular 输入直到点击才会更新
Ionic Angular input not updating until click when username/password loaded from ios keychain
我在使用 ionic 3 时遇到了一个奇怪的问题。我在登录我的应用程序时为用户启用了 iOS 钥匙串。它会填充值,但仅在使用钥匙串后单击输入后才会填充。
我的输入:
<input
name="login_email"
id="user-text-field"
autocomplete="username"
type="email"
class="input-no-bottom-border"
placeholder="Email"
(change)="socialLoginProvider.loginEmail = $event.target.value"
[(ngModel)]="socialLoginProvider.loginEmail"
>
基本上,当他们点击键盘上的钥匙串按钮时,它会按预期进行,但是一旦他们 return 到应用程序,输入仍然是空白,直到用户点击其中一个然后它触发 (change)
并更新允许用户登录的值。
Ionic 3 未检测到更改,这是一个已知错误,已在 v4 中修复。为了解决这个问题,我设置了一个函数来检测点击时的变化。我用了 ChangeDetectorRef.detectChanges()
(tap)="createDetector()"
detector;
detectChanges() {
return setInterval(() => {
this.changes.detectChanges();
}, 500);
}
createDetector() {
this.detector = this.detectChanges();
}
destroyDetector() {
clearInterval(this.detector);
}
我在方法完成时使用 clearInterval 只是为了清理间隔,所以它不会 运行 持续。
我在使用 ionic 3 时遇到了一个奇怪的问题。我在登录我的应用程序时为用户启用了 iOS 钥匙串。它会填充值,但仅在使用钥匙串后单击输入后才会填充。
我的输入:
<input
name="login_email"
id="user-text-field"
autocomplete="username"
type="email"
class="input-no-bottom-border"
placeholder="Email"
(change)="socialLoginProvider.loginEmail = $event.target.value"
[(ngModel)]="socialLoginProvider.loginEmail"
>
基本上,当他们点击键盘上的钥匙串按钮时,它会按预期进行,但是一旦他们 return 到应用程序,输入仍然是空白,直到用户点击其中一个然后它触发 (change)
并更新允许用户登录的值。
Ionic 3 未检测到更改,这是一个已知错误,已在 v4 中修复。为了解决这个问题,我设置了一个函数来检测点击时的变化。我用了 ChangeDetectorRef.detectChanges()
(tap)="createDetector()"
detector;
detectChanges() {
return setInterval(() => {
this.changes.detectChanges();
}, 500);
}
createDetector() {
this.detector = this.detectChanges();
}
destroyDetector() {
clearInterval(this.detector);
}
我在方法完成时使用 clearInterval 只是为了清理间隔,所以它不会 运行 持续。