vue实现模糊搜索功能

首先写好一个列表

写好的样式是这样滴

操作来了

在computed里面定义了一个search函数 使用filter过滤

接下来

在method 里面写一个sousuo1函数 进行一个判断 如果搜索这个输入框框里是空 就是展示原数据 如果这个不为空 就会展示搜索到的数据

最后 很重要

把list改为sousuo1()这个函数

看效果

接下来把全部代码写上 里面的vue引入的是cdn 直接复制黏贴就可以用





    
    
    Page Title
    
    
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script src="main.js"></script>
    



    
编号 英雄 技能
{{item.id}} {{item.name}} {{item.jn}}
<script> var app = new Vue({ el: '#app', data: { sousuo: '', list: [{ "id": 1, "name": "后裔", "jn": "射箭" }, { "id": 2, "name": "妲己", "jn": "魅惑" }, { "id": 3, "name": "猴子", "jn": "棍子" }, ] }, computed: { //设置计算属性 Search() { if (this.sousuo) { return this.list.filter((value) => { //过滤数组元素 this.list就是上面的那个死数据 return value.name.includes(this.sousuo); // 查看value.name里面包含不包含输入的字体 }); //this.sousuo跟上面的输入框是双重绑定 } } }, methods: { sousuo1() { if (!this.sousuo) { return this.list; } return this.Search } }, }) </script>

注:文章转自互联网