2017-08-23 3 views
0

J'utilise dans l'un des composants de la foudre et je l'utilise pour filtrer une table. Mais quand j'essaie d'obtenir sa valeur dans le contrôleur JS avec la fonction keyup, cela donne une valeur de moins que réelle.<ui: inputText> le code retourne une valeur incorrecte (un de moins)

Cette question a déjà été posée pour HTML here, Mais pour le HTML, nous avons une solution que nous pouvons utiliser onkeyup au lieu de keyup. Mais dans la foudre de la force de vente, nous n'avons aucune fonction onkeyup pour ui: inputText Source, Alors, comment résoudre ce problème?

J'ai déjà essayé une pression sur une touche, un appui sur une touche, un clavier. Tous sont le fait de donner moins de valeur que réelle une

Composant:

<ui:inputText aura:id="search-phrase" class="slds-input" keyup="{!c.filterTable}" placeholder="Search Table" /> 

JS Controller:

, filterTable :function(component, event, helper) { 

     var dynamicVal = component.find("search-phrase"); 
     var week = dynamicVal.get("v.value") ; 
     alert((week+'').toLowerCase()); 
      var searchTerm = (week+'').toLowerCase() ; 
       $('#userTbl tbody tr').each(function(){ 
        var lineStr = $(this).text().toLowerCase(); 
        if(lineStr.indexOf(searchTerm) === -1){ 
         $(this).hide(); 
        }else{ 
         $(this).show(); 
        } 
       }); 
     } 

Répondre

1

je l'ai trouvé sa solution. Juste besoin d'ajouter à updateOn="keyup"<ui:inputText> donc nouveau

deviendra:

<ui:inputText aura:id="search-phrase" class="slds-input" updateOn="keyup" keyup="{!c.filterTable}" placeholder="Search Table" />