当前位置: 首页 > 知识库问答 >
问题:

如何停止Array.Filter()函数

琴正初
2023-03-14
 <input type="text" pInputText class="ui-widget ui-text" [(ngModel)]
 ="gloablFilterValue" (ngModelChange)="splitCustomFilter()" placeholder="Find" />

我正在搜索框上使用ngmodelchange()事件

js lang-js prettyprint-override">globalSearch(realData, searchText, columns) {
        searchText = searchText.toLowerCase();
        return realData.filter(function (o) {
            return columns.some(function (k) {
                return o[k].toString().toLowerCase().indexOf(searchText) !== -1;
            });
        });
    }

    splitCustomFilter() {
    let columns =  
   ['PartNoCompleteWheel', 'DescriptionCompleteWheel', 'PartNoTyre', 'DescriptionTyre', 'PartNoRim', 'DescriptionRim','DeletedDateFromKDPStr', 'DateFromKDPStr', 'Status'];
   this.tyreAndRimList = this.globalSearch(this.tyreAndRimList, this.gloablFilterValue, columns); 
    }

this.tyreandrimlist列的值列表,在column变量中提到。

问题

什么时候

如果我输入一个字符(比如a),筛选器工作正常。但是当我连续输入字符时,浏览器挂起了。原因是筛选器一直在激发筛选器框上的每一个输入(因为am使用NGModelChange()//onchange()事件)

我想要的

 setTimeout(() => //code of filtering ,1000);

我在angular-2和打字。但是这个问题并不只是与AngularJSAngulalJavaScriptTypescript相关,因为我想要的是一个想法,而不是解决方案。所以我会为这个问题添加这些标记。不要移除。谢谢

共有1个答案

柴英光
2023-03-14

去抖函数。请参见下划线是如何实现的:函数Debouncing with underscore.js。

然后,您将生成函数的一个公开版本,如下所示:

var globalSearchDebounced = _.debounce(globalSearch, 100, false);

只有在用户停止键入至少一秒钟后,它才会调用。

 类似资料:
  • 问题内容: 该程序在九次打印后完成: 如何停止进程(例如eclipse中的Java进程),因为它在9秒的时间限制后没有停止? 问题答案: 您遇到的问题是,取消哔声任务后,调度程序会保留活动线程。 如果存在活动的非守护程序线程,则JVM保持活动状态。 它使该线程保持不变的原因是您已在此行中告诉它这样做: 请注意以下文档: -即使在空闲状态下要保留在池中的线​​程数。 因此,您有两种可能的方法来导致J

  • 问题内容: 我有一个goroutine,它调用一个方法,并在通道上传递返回的值: 如何停止这种goroutine? 问题答案: 编辑: 在意识到您的问题是关于将值发送到goroutine中的chan之前,我匆忙编写了此答案。 下面的方法可以与上面建议的其他chan一起使用,或者利用您已经拥有的chan双向的事实,您可以只使用一个… 如果您的goroutine仅用于处理来自chan的项目,则可以使用

  • 问题内容: 要找出mysqld的启动命令(使用Mac),我可以这样做: 我得到以下输出,这使我可以启动mysql服务器。 我如何找到必要的命令以从命令行停止mysql? 问题答案: 尝试: 要么: 要么: 要么: 如果 在OSX中 安装 Launchctl,则 可以尝试: MacPorts 注意:重新启动后,此设置将持续存在。 家酿 二进制安装程序 我发现在:https : //stackover

  • 问题内容: 如何停止块枚举? 我知道在obj-c中,您可以这样做: 问题答案: 在Swift 1中: 在Swift 2中: 在Swift 3-4中:

  • 函数名称:停止脚本 函数功能:停止脚本 函数方法 runtime.exit() 函数用例 dialog("开始运行",5000) runtime.exit() dialog("运行不到这里",5000) 注意事项 目前积木编程函数和触动精灵函数不通用,请仔细查看本手册,此手册中函数仅支持积木编程,不支持触动精灵,同理请勿将触动精灵函数在积木编程运行。

  • 函数名称: 停止震动 函数功能: 停止震动 函数方法 device.cancelVibration() 注意事项 目前积木编程函数和触动精灵函数不通用,请仔细查看本手册,此手册中函数仅支持积木编程,不支持触动精灵,同理请勿将触动精灵函数在积木编程运行。