我遇到了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
功能是我尝试关注输入的地方
答案 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);
}