2017-08-23 4 views
0

私は雷のコンポーネントの1つで使用しており、テーブルをフィルタリングするために使用しています。しかし、私がJSコントローラの値をkeyup関数で取得しようとすると、実際の値よりも1つ少ない値が与えられます。<ui:inputText> keyupが不正な値を返します(1つ少ない)

この質問はHTML hereで既に要求されていますが、HTMLではkeyupの代わりにonkeyupを使用できるソリューションがあります。 しかし、salesforceの雷では、uiにはonkeyup関数がありません:inputText Source、 この問題を解決するにはどうすればよいですか?

私はすでにキー押し、キーアップ、キーダウンを試みました。

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

JSコントローラー:

, 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(); 
        } 
       }); 
     } 

答えて

1

私はそれが解決策だ見つけ すべてが実際のもの

成分より1つの少ない値を与えています。 だけになります<ui:inputText>

ので、新しいものにupdateOn="keyup"を追加する必要があります。

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