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 相关文章推荐
IE8 兼容性问题(属性名区分大小写)
Jun 04 Javascript
javascript拖拽上传类库DropzoneJS使用方法
Dec 05 Javascript
JS循环遍历JSON数据的方法
Jul 08 Javascript
AngularJs Dependency Injection(DI,依赖注入)
Sep 02 Javascript
原生js实现下拉框功能(支持键盘事件)
Jan 13 Javascript
vue-resource拦截器设置头信息的实例
Oct 27 Javascript
基于webpack4搭建的react项目框架的方法
Jun 30 Javascript
Vue2.0生命周期的理解
Aug 20 Javascript
webpack 3.X学习之多页面打包的方法
Sep 04 Javascript
Vuex中的State使用介绍
Jan 19 Javascript
Vue实现购物车实例代码两则
May 30 Javascript
Electron实现应用打包、自动升级过程解析
Jul 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
在 PHP 中使用随机数的三个步骤
2006/10/09 PHP
php获取qq用户昵称和在线状态(实例分析)
2013/10/27 PHP
PHP不用递归遍历目录下所有文件的代码
2014/07/04 PHP
PHP扩展开发入门教程
2015/02/26 PHP
PHP面向对象学习之parent::关键字
2017/01/18 PHP
PHP中quotemeta()函数的用法讲解
2019/04/04 PHP
统一接口:为FireFox添加IE的方法和属性的js代码
2007/03/25 Javascript
JQuery与iframe交互实现代码
2009/12/24 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
nodejs通过phantomjs实现下载网页
2015/05/04 NodeJs
深入浅析JavaScript中对事件的三种监听方式
2015/09/29 Javascript
值得分享和收藏的Bootstrap学习教程
2016/05/12 Javascript
JS实现仿百度文库评分功能
2017/01/12 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
JS+canvas绘制的动态机械表动画效果
2017/09/12 Javascript
Angular实现的自定义模糊查询、排序及三角箭头标注功能示例
2017/12/28 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
vue数据控制视图源码解析
2018/03/28 Javascript
vue2.0 + ele的循环表单及验证字段方法
2018/09/18 Javascript
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
Python读写Redis数据库操作示例
2014/03/18 Python
python实现通过pil模块对图片格式进行转换的方法
2015/03/24 Python
如何在Python函数执行前后增加额外的行为
2016/10/20 Python
python看某个模块的版本方法
2018/10/16 Python
Python GUI学习之登录系统界面篇
2019/08/21 Python
Python 爬虫实现增加播客访问量的方法实现
2019/10/31 Python
Pyecharts绘制全球流向图的示例代码
2020/01/08 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
英国电子产品购物网站:TobyDeals
2018/07/30 全球购物
请说出几个常用的异常类
2013/01/08 面试题
《悯农》教学反思
2014/04/28 职场文书
工作目标责任书
2014/07/23 职场文书
前台文员岗位职责
2015/02/04 职场文书
优秀党员个人总结
2015/02/14 职场文书
2015学生会文艺部工作总结
2015/04/03 职场文书
5行Python代码实现一键批量扣图
2021/06/29 Python