javascript - 当按下空格时,Vue js 过滤器不起作用

标签 javascript vue.js vuejs2

我有一个过滤器,它根据名字和姓氏返回数组。我让它不区分大小写。但问题是,当我按空格时,它不会返回任何结果。例如,假设名字是(包括名字和姓氏)Sadek Hossain。现在,如果我搜索 sadek 它可以工作,但如果我输入 sadek hossainSadek Hossain 它永远不会工作。一旦按下空格,它就不起作用。

这是我正在使用的过滤器代码。

filterUser(){
            return this.buddylist.filter((buddy)=>{
                return buddy.oponent.firstName.toLowerCase().match(this.search.toLowerCase()) || buddy.oponent.lastName.toLowerCase().match(this.search.toLowerCase());
            })
        }

最佳答案

如果您想匹配全名,您应该检查第一个+最后一个,例如:

filterUser(){
   return this.buddylist.filter((buddy)=>{
     var fullname = buddy.oponent.firstName.trim() + " " + buddy.oponent.lastName.trim()
     return fullname.toLowerCase().match(this.search.toLowerCase().trim().replace(/\s+/g,' '))

   })
}

这会将用户输入中的多余空格替换为一个空格。去掉名字和姓氏中的任何多余空格。连接第一个 + 最后一个并进行比较。

如果您想匹配名字、姓氏或全名,您需要将其与之前的函数结合起来。

关于javascript - 当按下空格时,Vue js 过滤器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46718159/

相关文章:

JavaScript:使用对 "method"的引用更改行为

javascript - setTimeout 函数会影响 Node.js 应用程序的性能吗?

javascript - Vue 中模态关闭后的操作

javascript - v-on click,仅在满足条件时添加处理程序

webpack - 如何让 Flow 与 Vue 2 (webpack) 一起正常工作?

vue.js - 如何检查对象 Prop 是否具有所需的对象属性

javascript - 正刮

javascript - 提交表单并将值保存到 sessionStorage

webpack - [Vue 警告] : Failed to mount component: template or render function not defined. 错误

vuejs2 - 如何在RouteUpdate导航守卫之前测试vue路由器?