09-模糊查询

方法1:使用filter与includes配合使用,filter新数组替换旧数组,不影响原始数据,但是这种方法替换数组后就回不到原始数组,所以要将原始数组备份,然后对原始数组在进行过滤才可以

<body>
    <div id="box">
        <input type="text" @input='handleInput'>
        <ul>
            <li v-for="(item,index) of list">
                {{item}}---{{index}}
            </li>
        </ul>
    </div>
    <script>
        var vm = new Vue({
            el: '#box',
            data: {
                list:['aaa','bbb','ccc','add','eee','fff','ggg'],
                oragelist:['aaa','bbb','ccc','add','eee','fff','ggg']
            },
            methods:{
                handleInput(evt){
                    console.log(evt.target.value)
                    //过滤数组
                    // includes 判断是否包含某一字符串,包含返回true,空也是返回true
                   this.list =  this.oragelist.filter(item => item.includes(evt.target.value))
                }
            }
        })
    </script>
</body>

方法2:函数表达式的方法,v-model语法糖

<body>
    <div id="box">
        <input type="text" v-model="mytext">
        {{ mymethods() }}   
        <ul>
            <!-- 遍历过滤后的数组 -->
            <li v-for="(item,index) of  mymethods()">
                {{item}}
            </li>
        </ul>
    </div>
    <script>
        var vm = new Vue({
            el: '#box',
            data: {
                list:['aaa','bbb','ccc','add','eee','fff','ggg'],
                mytext:''
            },
            methods:{
                mymethods(){
                    // 依赖此状态的函数也会重新执行
                    return this.list.filter(item => item.includes(this.mytext))
                }
            }
        })
    </script>
</body>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • jquery介绍 jQuery是目前使用最广泛的javascript函数库 据统计,全世界排名前100万的网站,有...
    就是这么帅_567e阅读 5,066评论 0 0
  • [if !supportLists]第一章 [endif]基本语法 [if !supportLists]一、[en...
    海绵宝宝_b8a2阅读 3,576评论 0 0
  • 1.安装 可以简单地在页面引入Vue.js作为独立版本,Vue即被注册为全局变量,可以在页面使用了。 如果希望搭建...
    Awey阅读 13,814评论 4 129
  • Es6 1.数组 1.扩展运算符 是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参...
    林深不見鹿阅读 1,693评论 0 0
  • css相关 1. 万能居中 1.margin: 0 auto;水平 2.text-align: center;水平...
    chaocc阅读 4,673评论 0 2

友情链接更多精彩内容