vue实现搜索功能


Posted in Javascript onMay 28, 2019

本文实例为大家分享了vue实现搜索功能的具体代码,供大家参考,具体内容如下

methods (要有一定的触发条件才能执行,如点击事件)

<template>
 <div class="safetyInfo">
 <input type="text" name="" id="" placeholder="搜索" v-model="search"/> 
 <button @click="btn">搜索</button>
 <ul v-for="list in searchData">
 <li>
  <span>{{list.name}}</span>
  <span>{{list.date}}</span>
  <span>{{list.depart}}</span>
 </li>
 </ul>
 </div>
</template>
 
<script>
export default {
 name: 'HelloWorld',
 data () {
 return {
  search:'',
  searchData: '',
 products:[
  //假数据
  {name:"数据1",date:'2018-01-04',depart:'泸化工1'},
  {name:"数据2",date:'2018-01-25',depart:'泸化工2'},
  {name:"数据3",date:'2018-02-10',depart:'泸化工3'},
  {name:"数据4",date:'2018-03-04',depart:'泸化工4'},
  {name:"数据5",date:'2018-05-24',depart:'泸化工5'},
  {name:"数据6",date:'2018-10-29',depart:'泸化工6'}
  ]
 }
 },
 methods:{
 btn:function(){
 
 var search = this.search;
 if (search) {
 this.searchData = this.products.filter(function(product) {
  console.log(product)
 return Object.keys(product).some(function(key) {
  console.log(key)
  return String(product[key]).toLowerCase().indexOf(search) > -1
 })
 })
 }
 
 }
 }
}
</script>

computed (在HTML DOM加载后马上执行的,如赋值):

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
 
<title>Document</title>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
</head>
<body>
 
<div id="app">
<input v-model='search' />
<ul v-for="item in searchData ">
<li>{{item.name}},价格:¥{{item.price}}</li>
</ul>
</div>
 
 
<script>
var vm = new Vue({
el: '#app',
data: {
search: '',
products: [{
name: '苹果',
price: 25,
category: "水果"
}, {
name: '香蕉',
price: 15,
category: "水果"
}, {
name: '雪梨',
price: 65,
category: "水果"
}, {
name: '宝马',
price: 2500,
category: "汽车"
}, {
name: '奔驰',
price: 10025,
category: "汽车"
}, {
name: '柑橘',
price: 15,
category: "水果"
}, {
name: '奥迪',
price: 25,
category: "汽车"
}]
},
computed: {
searchData: function() {
var search = this.search;
 
if (search) {
return this.products.filter(function(product) {
return Object.keys(product).some(function(key) {
return String(product[key]).toLowerCase().indexOf(search) > -1
})
})
}
 
return this.products;
}
}
})
</script>
 
 
</body>
</html>

注:some()为数组中的每个元素执行一次callback函数,直到它找到一个返回值为可以转化为布尔值true的值,此时some()方法将立刻返回true,否则立刻返回false 

by the way:

watch 它用于观察Vue实例上的数据变动。对应一个对象,键是观察表达式,值是对应回调。值也可以是方法名,或者是对象,包含选项。

所以他们的执行顺序为:默认加载的时候先computed再watch,不执行methods;等触发某一事件后,则是:先methods再watch。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 实用小技巧
Apr 07 Javascript
Javascript实现CheckBox的全选与取消全选的代码
Jul 20 Javascript
根据对象的某一属性进行排序的js代码(如:name,age)
Aug 10 Javascript
jQuery动态背景图片效果实现方法
Jul 03 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
Apr 12 Javascript
jQuery制作网页版选项卡
Jul 28 Javascript
js中json处理总结之JSON.parse
Oct 14 Javascript
webpack打包后直接访问页面图片路径错误的解决方法
Jun 17 Javascript
利用jQuery异步上传文件的插件用法详解
Jul 19 jQuery
vue-cli2.9.3 详细教程
Apr 23 Javascript
AngularJS实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 Javascript
JavaScript实现PC端横向轮播图
Feb 07 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
May 28 #Javascript
如何实现双向绑定mvvm的原理实现
May 28 #Javascript
vue实现带复选框的树形菜单
May 27 #Javascript
vue实现按需加载组件及异步组件功能
May 27 #Javascript
Vue实现导航栏点击当前标签变色功能
Aug 19 #Javascript
原生js实现each方法实例代码详解
May 27 #Javascript
深入学习JavaScript中的bom
May 27 #Javascript
You might like
PHP5.6新增加的可变函数参数用法分析
2017/08/25 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
2020/09/25 PHP
JS运行耗时操作的延时显示方法
2010/11/19 Javascript
js当一个变量为函数时 应该注意的一点细节小结
2011/12/29 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
2013/01/20 Javascript
常用js字符串判断方法整理
2013/10/18 Javascript
jQuery中offsetParent()方法用法实例
2015/01/19 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
jquery ui dialog替代confirm实例分析
2016/01/25 Javascript
Javascript获取随机数的实现方法
2016/06/22 Javascript
js 自带的sort() 方法全面了解
2016/08/16 Javascript
Vue.js组件使用开发实例教程
2016/11/01 Javascript
JavaScript设计模式之装饰者模式定义与应用示例
2018/07/25 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
在微信小程序中使用vant的方法
2019/06/07 Javascript
vue实现后台管理权限系统及顶栏三级菜单显示功能
2019/06/19 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
python self,cls,decorator的理解
2009/07/13 Python
Python的Django框架中settings文件的部署建议
2015/05/30 Python
Python 模板引擎的注入问题分析
2017/01/01 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
Python中函数的基本定义与调用及内置函数详解
2019/05/13 Python
浅谈Django+Gunicorn+Nginx部署之路
2019/09/11 Python
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
2016/07/13 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(二)
2013/01/21 HTML / CSS
Amaze UI 文件选择域的示例代码
2020/08/26 HTML / CSS
乐高官方旗舰店:LEGO积木玩具
2019/04/06 全球购物
罗马尼亚在线杂货店:Pilulka.ro
2019/09/28 全球购物
eharmony澳大利亚:网上约会服务
2020/02/29 全球购物
澳大利亚Rockwear官网:女子瑜伽、健身和运动服
2021/01/26 全球购物
英语系本科生求职信范文
2013/12/18 职场文书
报到证丢失证明
2014/01/11 职场文书
球队口号
2014/06/18 职场文书
2014年小学工作总结
2014/11/26 职场文书
Pytorch distributed 多卡并行载入模型操作
2021/06/05 Python
使用CSS实现小三角边框原理解析
2021/11/07 HTML / CSS