0

我正在使用其中一个闪电组件,并且正在使用它来过滤表格。但是当我试图用keyup函数在 JS 控制器中获取它的值时,它给出的值比实际值少一个。

这个问题已经被问到 HTML here 了,但是对于 HTML,我们有一个解决方案可以用来onkeyup代替keyup. 但是在salesforce Lightning中,我们没有onkeyupui:inputText Source的任何功能,那么如何解决这个问题呢?

我已经尝试过keypress、keyup、keydown。所有人都比实际价值少一

零件 :

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

2 回答 2

1

我找到了解决方案。只需要updateOn="keyup"添加<ui:inputText>

所以新的将成为:

<ui:inputText aura:id="search-phrase" class="slds-input" updateOn="keyup"   keyup="{!c.filterTable}"  placeholder="Search Table"  />
于 2017-08-24T16:16:12.500 回答
-1

在 ui:inputtext 控件中包含updateOn属性。默认情况下,它被映射到更改事件,因此当更改事件触发时,您将只能获得准确的值。updateOn="事件名称"

活动详情:在此处输入链接描述

于 2018-04-16T01:28:26.297 回答