赞
踩
问题提出:模糊搜索,搜“冬”出现“马冬梅、周冬雨”
实现方式1:watch属性
- <body>
- <div id="div1">
- <input type="text" name="" v-model="word">
- <li v-for='(p,i) of filp' :key=i>
- {{p}}
- </li>
- </div>
- </body>
- <script type="text/javascript">
- Vue.config.produnctionTps=false
-
- new Vue({
- el:"#div1",
- data:{
- word:"",
- persons:[
- {id:"001",name:"马冬梅"},
- {id:"002",name:"周冬雨"},
- {id:"003",name:"周结论"},
- {id:"004",name:"某某论"}
- ],
- filp:[]
- },
- watch:{
- word:{
- immediate:true,
- handler(value){
- this.filp=this.persons.filter((p)=>{
- return p.name.indexOf(value)!==-1
- })
- }
- }
- }
- })
- </script>

实现方式2:computed属性(更简单,能用computed尽量用)
- <body>
- <div id="div1">
- <input type="text" name="" v-model="word">
- <li v-for='(p,i) of filp' :key=i>
- {{p}}
- </li>
- </div>
- </body>
- <script type="text/javascript">
- Vue.config.produnctionTps=false
-
- new Vue({
- el:"#div1",
- data:{
- word:"",
- persons:[
- {id:"001",name:"马冬梅"},
- {id:"002",name:"周冬雨"},
- {id:"003",name:"周结论"},
- {id:"004",name:"某某论"}
- ],
-
- },
- computed:{
- filp(){
- return this.persons.filter((p)=>{
- return p.name.indexOf(this.word)!==-1
- })
- }
- }
- })
- </script>

3.对返回结果过按照年龄排序
- computed:{
- filp(){
- const arr= this.persons.filter((p)=>{
- return p.name.indexOf(this.word)!==-1
- })
- if(this.isSort){
- arr.sort((p1,p2)=>{
- return p1.age-p2.age
- })
- }
- return arr
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。