Slick Carousel GoToSlide问题

时间:2017-09-11 07:31:34

标签: javascript jquery angularjs slick.js

我遇到了Slick Carousel的问题,而且我使用的是Angular 4.我有卡片旋转木马,上面有个人姓名,我有一个搜索输入。

每当我搜索一个名字时,搜索输入就会失去焦点,而goToSlide开始以我写的名称为动画。

有没有办法继续关注输入。以下是我的代码:

搜索输入

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

我的搜索代码&#34; onSearchPlayer()&#34;

 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功能是我尝试关注输入的地方

1 个答案:

答案 0 :(得分:0)

通过从Filter函数中删除setTimeout方法来解决它,因为Filter Fucntion是一个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);
  }