<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
    </head>
    <body>
        <div id="app">
            <input type="text" v-model="inputVal" placeholder="请输入搜索内容"/>
            <ul>
                <li v-for="item in filterPerson" :key='item.id'>{{item.name}}-{{item.age}}</li>
            </ul>
            <button @click="sortType = 0 ">原顺序</button>
            <button @click="sortType = 1">年龄升序</button>
            <button @click="sortType = 2">年龄降序</button>
        </div>
        <script type="text/javascript">
            new Vue({
                el:'#app',
                data:{
                    inputVal:'',
                    sortType:0,//0代表原顺序,1代表升序,2代表降序
                    person:[
                        {name:'马冬梅',age:18,id:001},
                        {name:'周冬雨',age:13,id:002},
                        {name:'周杰伦',age:16,id:003},
                        {name:'温兆伦',age:15,id:004},
                    ]
                },
                computed:{
                    filterPerson(){
                        var arr = this.person.filter((e)=>{
                            return  e.name.indexOf(this.inputVal) !== -1 
                        })
                        if(this.sortType){
                            arr.sort((a,b)=>{
                            //升序    return a-b
                            //降序  return b-a
                            return this.sortType === 1 ? a.age - b.age : b.age - a.age
                            })
                        }
                        return arr
                    }
                }
            })
        </script>
    </body>
</html>