2017-06-13 6 views
1

私のionic 3アプリでは非常に奇妙な問題があります。私はアプリに機能を追加しています。この機能には、Angular 2+フォームとバリデーターを使用した複数ステップ入力プロセスが含まれています。ウェブ、Android、および古いiOSデバイス(iOS 9)ではすべて問題なく機能していました。Ionic 2+、iOSのみ問題:ページロードによるプラグインのリセット

Resetting plugins due to page load 

そして、アプリを再起動し:iOSの10に私は私の最初のフォームのステップを提出した後、次を得ます。メインのトリガポイントは、最初のフォームを隠して2番目のフォームを表示するこの最初のステップの後にブール値を設定しているようです。 1行で問題を防ぐことができます。

iOS 10でこのエラーがなぜ発生しているのかを知るためにできることはありますか?例えば、余分なロギング?

HTML

<ion-card> 
    <ion-card-header> 
     <ion-icon name="person-add"></ion-icon> Sign Up! 
    </ion-card-header> 

    <!--Step 1 - confirm user--> 
    <ion-list no-lines *ngIf="!hasConfirmedStep1"> 
     <form [formGroup]="formStepOne"> 

     <...SNIP...> 

     <ion-item> 
      <button ion-button icon-right float-right small (click)="checkUser()" [disabled]="!formStepOne.valid"> 
      Next 
      <ion-icon name="arrow-round-forward"></ion-icon>  
      </button> 
     </ion-item> 
     </form> 
    </ion-list> 

    <!--Step 2...Create Account--> 
    <ion-list no-lines *ngIf="hasConfirmedStep1 && !hasConfirmedStep2"> 
     <form [formGroup]="formStepTwo"> 


     <!--Email/Confirm email--> 
     <div formGroupName="validEmail"> 

     <...SNIP...> 

     </div> 
     <ion-item> 
      <button ion-button icon-right float-right small (click)="createUser()" [disabled]="!formStepTwo.valid"> 
      Next 
      <ion-icon name="arrow-round-forward"></ion-icon>  
      </button> 
     </ion-item> 
     </form> 

    </ion-list> 
</ion-card> 

TS

async checkUser() { 

    this.hasSubmittedStep1 = true; 
    this.errorMessage = this.successMessage = ""; 

    if (!this.formStepOne.valid) { 
     this.loggingService.debug("Invalid signup form for Check User"); 
     this.errorMessage = "Please enter valid input."; 
    } 
    else { 
     this.loggingService.debug("Valid signup form for Check User. Checking info..."); 

     //Confirm User 


     this.successMessage = 'Confirmed! Please Create Account.'; 
     this.hasConfirmedStep1 = true; 
    } 
    } 

答えて

1

私がなぜわからないんだけど、iOSの10に問題がHTMLに[formGroup]タグを隠しているように見えました。このページコンストラクタはformBuilder.group()を使用して、これらのフォームのオブジェクトをインスタンス化します。おそらく、iOS 10にはHTMLフォームがこれらに関連付けられていると予想されるものがありますか? <form>タグが常に表示されますが、それらの中に、私は私が/インテリア視覚的要素を隠すために上*ngIfを置い<div>を有していたように

私の修正が単に再構成するためのページでした。奇妙だが、うまくいくようだ。

+0

うわー,,素晴らしい、あまりにもうまくいって、時間を節約してくれてありがとう:) –

関連する問題