15621857753

VUE学习01:列表渲染之watch制作筛选功能

来源:齐鲁CMS 栏目:VUE & VITE 阅读: 日期:2021-12-17

本文介绍了VUE学习01:列表渲染之watch制作筛选功能,小编最近在学习VUE,将学习的笔记记录于此,供自己复习使用,也供志同道合者浏览观看。

先看效果图:

然后直接上代码:

DIV部分

<div id="main">
    <h2>人员列表</h2>
    <input type="text" placeholder="请输入名字" v-model="keyWord" />
    <ul>
        <li v-for="(p,index) in filPersons" :key="index">
            {{p.name}}-{{p.age}}-{{p.sex}}
        </li>
    </ul>    
</div>

JS部分

<script>
    new Vue({
        el: '#main',
        data: {
            keyWord:'',
            persons:[
                {id:'001',name:'马冬梅',age:18,sex:'女'},
                {id:'002',name:'周冬雨',age:19,sex:'女'},
                {id:'003',name:'周杰伦',age:20,sex:'男'},
                {id:'004',name:'温兆伦',age:20,sex:'男'}
            ],
            filPersons:[]
        },
        watch:{
            keyWord:{
                //确认是否以当前的初始值执行handler的函数
                immediate:true,                 
                //其值是一个回调函数。即监听到变化时应该执行的函数
                handler(val){ 
                    this.filPersons = this.persons.filter((p)=>{
                        return p.name.indexOf(val) !==-1
                    })
                    
                }
            }
        }
    })
</script>