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 相关文章推荐
图片动画横条广告带上下滚动可自定义图片、链接等等
Oct 20 Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
Mar 05 Javascript
jquery实现搜索框常见效果的方法
Jan 22 Javascript
使用纯javascript实现经典扫雷游戏
Apr 23 Javascript
AngularJs中route的使用方法和配置
Feb 04 Javascript
jQuery使用正则表达式限制文本框只能输入数字
Jun 18 Javascript
jQuery简单实现点击文本框复制内容到剪贴板上的方法
Aug 01 Javascript
JS获取鼠标选中的文字
Aug 10 Javascript
JS键盘版计算器的制作方法
Dec 03 Javascript
node中使用es5/6以及支持性与性能对比
Aug 11 Javascript
javascript实现函数柯里化与反柯里化过程解析
Oct 08 Javascript
Js视频播放器插件Video.js使用方法详解
Feb 04 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来写记数器(详细介绍)
2006/10/09 PHP
linux下为php添加curl扩展的方法
2011/07/29 PHP
php使用curl发送json格式数据实例
2013/12/17 PHP
php第一次无法获取cookie问题处理
2014/12/15 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
2015/12/07 PHP
PHP中substr_count()函数获取子字符串出现次数的方法
2016/01/07 PHP
laravel 中如何使用ajax和vue总结
2017/08/16 PHP
Laravel 框架返回状态拦截代码
2019/10/18 PHP
列表内容的选择
2006/06/30 Javascript
js程序中美元符号$是什么
2008/06/05 Javascript
javascript下IE与FF兼容函数收集
2008/09/17 Javascript
js 使用form表单select类实现级联菜单效果
2012/12/19 Javascript
js实现精美的图片跟随鼠标效果实例
2015/05/16 Javascript
js canvas实现擦除动画
2016/07/16 Javascript
jQuery Validate插件实现表单验证
2016/08/19 Javascript
Jquery组件easyUi实现表单验证示例
2016/08/23 Javascript
Javascript点击按钮随机改变数字与其颜色
2016/09/01 Javascript
jQuery实现给input绑定回车事件的方法
2017/02/09 Javascript
Vuex和前端缓存的整合策略详解
2017/05/09 Javascript
JS实现图片预览的两种方式
2017/06/27 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
2017/07/17 jQuery
微信小程序实现全局搜索代码高亮的示例
2018/03/30 Javascript
脚手架vue-cli工程webpack的作用和特点
2018/09/29 Javascript
vue elementui form表单验证的实现
2018/11/11 Javascript
vue项目中引入vue-datepicker插件的详解
2019/05/14 Javascript
详解Vue的异步更新实现原理
2020/12/22 Vue.js
python的mysqldb安装步骤详解
2017/08/14 Python
Python实现基于KNN算法的笔迹识别功能详解
2018/07/09 Python
Python编程在flask中模拟进行Restful的CRUD操作
2018/12/28 Python
HTML5实现视频直播功能思路详解
2017/11/16 HTML / CSS
Myprotein法国官网:欧洲第一运动营养品牌
2019/03/26 全球购物
美国气象仪器、花园装饰和墙壁艺术商店:Wind & Weather
2019/05/29 全球购物
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
2013/07/06 面试题
企划专员岗位职责
2013/12/09 职场文书
青年教师培训方案
2014/02/06 职场文书
护士个人年度总结范文
2015/02/13 职场文书