vue使用filterBy,orderBy實現搜索篩選功能

直接貼代碼了:

先上輸入前的樣子:

 

<style>
#example{margin:100px auto;width:600px;}
.show{margin:10px;}
#searchText{display: block;margin:0 auto 10px;height:24px;line-height: 24px;width:200px;}
.content ul li{text-align: center;}
.content ul li span{display: inline-block;width:150px;font-size:15px;color:#000;}
</style>
</head>
<body>
<div id="example">
    <input type="text" id="searchText" placeholder="搜索id或者姓名" v-model="searchData"/>
    <div class="content">
        <ul>
            <li v-for="item in items | filterBy searchData in 'id' 'name' | orderBy 'name' '-1'">
                <span>{{item.id}}</span>
                <span>{{item.name}}</span>
                <span>{{item.time}}</span>
            </li>
        </ul>
    </div>
</div>
<script>
    var example1 = new Vue({
      el: '#example',
      data: {
          searchData:'',
        items: [
            {id:'1008',name:'濤濤',time:'20170207'},
            {id:'1098',name:'合同',time:'20170213'},
            {id:'1107',name:'曉麗',time:'20170304'},
            {id:'1004',name:'小蘭',time:'20170112'},
            {id:'1102',name:'財務',time:'20170203'},
            {id:'1108',name:'哈哈',time:'20170208'},
            {id:'1345',name:'測試',time:'20170201'},
        ]    
      },
       ready:function(){
            
        },
        watch:{
            items:{
                handler:function(val,oldval){
                    
                },
                deep:true
            }
        },
        
        methods:{
            
        }
    })
</script>

 

 

當在輸入框中輸入'合同',得到結果如圖:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章