2017-11-15 26 views
0

Ich bin eine Filter-Suche für meine Suchfeld implementieren, funktioniert alles gut das Array erhalten gefiltert, wie ich brauche, aber es hat ein seltsames Verhalten, da die Suche fast am Ende der Seite ist (der scrool ist auch unten) Wenn ich einen Charakter eintrage, um in der Suchbox zu suchen, geht der scrool nach oben Ich denke, dass das Verhalten nichts mit CSS zu tun hat, das Problem ist mit meiner Filterfunktion.Warum Javascript Filter Fokus verloren

Ich mache es so:

public onSearchChange(nameSearch: string): void { 
    if (this.myFullArr) { 
     const search = nameSearch.toLowerCase(); 
     this.myArr = this.myFullArr.filter((element) => { 
      if (element.Name.toLowerCase().indexOf(search) !== -1) { 
       return true; 
      } 
      return false; 
     }) 
    } 
} 

diese Funktion aufgerufen wird, wenn mein Suchfeld ändern, wie ihr die myFullArr sehen können, ist die anfängliche behaupten, dass statisch und ändert sich nicht, da Ich kann nicht nur das ursprüngliche Array verwenden, da es sich ändern wird, das myArr ist das gefilterte Array.

Irgendwelche Hilfe?

Dank

Antwort

0

Versuchen Sie, Ihre onSearchChange Funktion aufrufen wie folgt.

<input id="text" type="text" /> 

    the function 

    document.getElementById('text').onkeydown = new function(event){ 
    onSearchChange("your search text") 
    return false 
} 

Sie können eine Idee von this Frage auch bekommen.

Verwandte Themen