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 getElementsByClassName实现代码
Oct 11 Javascript
利用jquery包将字符串生成二维码图片
Sep 12 Javascript
jQuery中removeClass()方法用法实例
Jan 05 Javascript
js简单实现竖向tab选项卡的方法
May 04 Javascript
JavaScript中ES6 Babel正确安装过程
Jul 18 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
Dec 20 Javascript
js实现瀑布流效果(自动生成新的内容)
Mar 16 Javascript
js+html5生成自动排列对话框实例
Oct 09 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
Feb 24 Javascript
webpack 如何解析代码模块路径的实现
Sep 04 Javascript
layui表格内容溢出的解决方法
Sep 06 Javascript
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
Apr 14 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
PHP实现的一致性Hash算法详解【分布式算法】
2018/03/31 PHP
PHP token验证生成原理实例分析
2019/06/05 PHP
JS 控制CSS样式表
2009/08/20 Javascript
解决JS中乘法的浮点错误的方法
2014/01/03 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
2015/03/20 Javascript
asp知识整理笔记3(问答模式)
2015/09/27 Javascript
怎样判断jQuery当前元素是隐藏还是显示
2016/11/23 Javascript
jquery-mobile表单的创建方法详解
2016/11/23 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
2016/12/29 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
Ionic3 UI组件之autocomplete详解
2017/06/08 Javascript
Vue单文件组件基础模板小结
2017/08/10 Javascript
vue-cli中的webpack配置详解
2017/09/25 Javascript
ReactJS实现表单的单选多选和反选的示例
2017/10/13 Javascript
css和js实现弹出登录居中界面完整代码
2017/11/26 Javascript
ExtJs整合Echarts的示例代码
2018/02/27 Javascript
Vue中对比scoped css和css module的区别
2018/05/17 Javascript
jQuery仿移动端支付宝键盘的实现代码
2018/08/15 jQuery
微信小程序实现列表滚动头部吸顶的示例代码
2020/07/12 Javascript
[06:13]DOTA2进化论(修改版)
2013/10/08 DOTA
Python中django学习心得
2017/12/06 Python
机器学习经典算法-logistic回归代码详解
2017/12/22 Python
python opencv人脸检测提取及保存方法
2018/08/03 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
Python设计模式之建造者模式实例详解
2019/01/17 Python
python重试装饰器的简单实现方法
2019/01/31 Python
应用OpenCV和Python进行SIFT算法的实现详解
2019/08/21 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
django 装饰器 检测登录状态操作
2020/07/02 Python
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
交通专业个人自荐信格式
2013/09/23 职场文书
一份创业计划书范文
2014/02/08 职场文书
学生会主席竞聘书
2014/03/31 职场文书
公司员工活动策划方案
2014/08/20 职场文书
2014年质量工作总结
2014/11/22 职场文书
my.ini优化mysql数据库性能的十个参数(推荐)
2021/05/26 MySQL