2017-03-03 10 views
0

私のイオン2アプリでは、ボタンがあるページがあります。ボタンを押すと、入力ボックスがあるモーダル画面が表示されます。モーダルページが開くと、モーダルページの入力ボックスにカーソルを合わせて、ユーザーがすぐに入力を開始できるようにします。私のモーダルページで角2 /イオン2入力ボックスのフォーカス機能が存在しません

、私は次のHTML私のコードで

<ion-item> 
    <ion-input #search type="text" placeholder="Type an area e.g. Bedroom" [value]="searchValue" [formControl]="inputSearchControl"></ion-input> 
</ion-item> 

を持っている私は、次のしている:

@ViewChild("search") inputBox; 

    ngAfterViewInit() { 

    this.inputBox.nativeElement.focus(); 

    this.inputSearchControl.valueChanges.debounceTime(500).subscribe((callbackText) => { 
     this.selectedArray = this.originalArrayBeforeAnyFiltering.filter((item) => { 
      return (item.toLowerCase().indexOf(callbackText.toLowerCase()) > -1); 
     }); 
    }); 
} 

のでビューが初期化された後、上にカーソルを集中モーダルの入力ボックス。しかし、私のコードは初期化ビュー上で実行されるとき、それが原因存在しない関数に失敗:コンソールで

VM415:1 Uncaught TypeError: this.inputBox.focus is not a function(…)

それはフォーカス持つEventEmitterであると言うが、私はよく分かりませんこれを使って私が望むものを達成する方法。

ご協力いただければ幸いです。

答えて

1

bengrahあなたがsetFocus()機能を使用する必要があります。

this.inputBox.setFocus() 

ソースthis discussion

またthe docsによれば、focusion-inputの出力イベントです。

+0

これは私が必要としていたものです。ご協力いただきありがとうございます。 – bengrah

+1

@surajこのことは私のために働いていません。私のの – devanshsadhotra

関連する問題