计算属性实现模糊搜索功能场景

简介: 我相信大家在项目中都会遇到模糊搜索这个功能要求,即我们在输入框内输入文字后显示与输入文字相关的关键字,那这个具体实现方案是什么,这是我在最近一期蓝桥杯楼赛中遇到的业务需求,大家可以来思考一下,下面我将进行实现详解

模糊搜索

1.webp.jpg

功能简介

我相信大家在项目中都会遇到模糊搜索这个功能要求,即我们在输入框内输入文字后显示与输入文字相关的关键字,那这个具体实现方案是什么,这是我在最近一期蓝桥杯楼赛中遇到的业务需求,大家可以来思考一下,下面我将进行实现详解

知识点准备

一般我们在考虑这个功能的时候需要考虑到我们在输入的时候,每时每刻中我们的输入字都发送了改变,所以要考虑是使用change函数来实现这个功能是不现实的,所以说,我们一般使用计算属性computer来实现这个业务。然后我们就可以考虑通过我们输入的关键字来进行模糊搜索,之前我想使用正则来实现这个问题,但是可能会还是有一些麻烦,所以我们要使用到filterinclude

  1. 计算属性computer
    在系统性学习vue的时候大家都很好奇计算属性的应用场景在哪里,这里就出现了,在官网文档中提出所以,对于任何复杂逻辑,你都应当使用计算属性,所以说这里我们要对数组进行筛选也要应用到计算属性,模板如下,最后返回的是我们想要渲染到页面上的数组,也就是通过搜索筛选完的。
computer : {
    filterList() {
        return array
    }
}
复制代码
  1. include
    include是检测数组是否包含参数,返回值为布尔值,与我们接下来的一个函数对应即filter
let array = ['cxy', 'juejin'];
array.includes('cxy'); 
// true 
复制代码
  1. filter
    filter的作用就是对某个数组按照某个筛选判断方法返回符合条件的数组,所以我们需要与include搭配使用,即当include的返回值为布尔值,所以经过完美搭配模糊搜索
this.postList.filter(item => {
    return item.title.include(this.search)
})
复制代码

完整代码

完整代码如下,实现模糊搜索

computer : {
    filterList() {
        return this.postList.filter(item => {
            return item.title.include(this.search)
        })
    }
}


相关文章
|
JavaScript
Vue中 .env .env.development .env.production 详细说明
Vue中 .env .env.development .env.production 详细说明
532 0
|
Web App开发 iOS开发
a标签实现文件流下载
a标签实现文件流下载
273 0
|
前端开发 算法 API
直接在前端做 zip 压缩/解压
前段时间研究前端是如何解析 excel 表格的时候了解到 jszip 这个库,可以直接在前端对 zip 包进行压缩和解压缩,今天稍微水一篇。
|
5月前
|
JavaScript API 容器
Vue 3 中的 nextTick 使用详解与实战案例
Vue 3 中的 nextTick 使用详解与实战案例 在 Vue 3 的日常开发中,我们经常需要在数据变化后等待 DOM 更新完成再执行某些操作。此时,nextTick 就成了一个不可或缺的工具。本文将介绍 nextTick 的基本用法,并通过三个实战案例,展示它在表单验证、弹窗动画、自动聚焦等场景中的实际应用。
456 17
|
XML Java 数据格式
spring中bean的自动装配(详细)
spring中bean的自动装配(详细)
980 0
9-17|远端执行date命令报错
9-17|远端执行date命令报错
|
前端开发 容器
前端技术分享:利用CSS Grid布局实现响应式设计
【10月更文挑战第1天】前端技术分享:利用CSS Grid布局实现响应式设计
|
JavaScript 前端开发 关系型数据库
前端node学习路线
【8月更文挑战第21天】前端node学习路线
346 8
|
前端开发
css 拉伸 resize —— 实现可拉伸的div(含限制拉伸的尺寸)
css 拉伸 resize —— 实现可拉伸的div(含限制拉伸的尺寸)
700 1