2017-09-11 8 views
0

Slick Carouselに問題があり、私はAngular 4を使用しています。私は個人の名前のカルーセルカードを持っており、検索入力があります。Slick Carousel GoToSlideの問題

名前を検索するたびに、検索入力がフォーカスを失い、goToSlideが書いた名前にアニメーションを開始します。

入力に焦点を当てる方法はありますか?以下は、私のコードです:

検索入力

<input type="text" placeholder="Search..." id="search" [(ngModel)]="searchText" (ngModelChange)="onSearchPlayers($event)" #search> 

そして、私の検索コード、私は個人の私のデータを取得し、よどこ "onSearchPlayer()"

onSearchPlayers(event) { 
    this.results.filter(function(player, index){ 
     if (player.name.toLowerCase().indexOf(event.toLowerCase()) > -1) { 
      $('.slick').slick('slickGoTo', index); 
      setTimeout(() => { 
       this.renderer.invokeElementMethod(this.search.nativeElement, 'focus', []); 
      }, 5000); 
     } 
    }) 
    } 

this.resultsがありますsetTimeout関数は入力に焦点を当てようとしたところです

答えて

0

フィルタファンからsetTimeoutメソッドを削除して解決しましたFilter関数はvoid関数であるためです。

onSearchPlayers(event) { 
    this.results.filter(function(player, index){ 
     if (player.name.toLowerCase().indexOf(event.toLowerCase()) > -1) { 
      $('.slick').slick('slickGoTo', index); 
     } 
    }) 

    setTimeout(() => { 
     this.renderer.invokeElementMethod(this.search.nativeElement, 'focus', []); 
    }, 1000); 
    } 
関連する問題