2017-03-03 3 views
0

제 2이 앱에는 버튼이있는 페이지가 있습니다. 버튼을 누르면 입력 상자가있는 모달 화면이 나타납니다. 모달 페이지가 열리면 모달 페이지의 입력 상자에 커서를 놓고 사용자가 즉시 타이핑을 시작할 수 있습니다. 보기가 초기화 후각도 2/이온 2 입력 상자 포커스 기능이 없습니다

@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); 
     }); 
    }); 
} 

는 그래서, 커서를 초점 : 내 모달 페이지에서

, 나는 다음과 같은 한 다음 HTML 내 코드에서

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

이 모달에 입력 상자. 내 코드가 보기 초기화 중에서 실행될 때, 그것은 함수에 존재하지 않는 때문에 실패

콘솔에 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이 일은 나를 위해 작동하지 않습니다. in 내 devanshsadhotra