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 相关文章推荐
JQuery EasyUI 对话框的使用方法
Oct 24 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
Aug 05 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
May 28 Javascript
js实现按钮控制图片360度翻转特效的方法
Feb 17 Javascript
jQuery+AJAX实现网页无刷新上传
Feb 22 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
May 20 Javascript
jqPlot jQuery绘图插件的使用
Jun 18 Javascript
原生js图片轮播效果实现代码
Oct 19 Javascript
vue-cli中的webpack配置详解
Sep 25 Javascript
vue.js打包之后可能会遇到的坑!
Jun 03 Javascript
vue 地图可视化 maptalks 篇实例代码详解
May 21 Javascript
高性能js数组去重(12种方法,史上最全)
Dec 21 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 缓存实现代码及详细注释
2010/05/16 PHP
Yii查询生成器(Query Builder)用法实例教程
2014/09/04 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
php 解决substr()截取中文字符乱码问题
2016/07/18 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
js 分栏效果实现代码
2009/08/29 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
javascript实现简单的二级联动
2015/03/19 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
2016/05/24 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
通过扫描二维码打开app的实现代码
2016/11/10 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
vue实现app页面切换动画效果实例
2017/05/23 Javascript
5分钟教你用nodeJS手写一个mock数据服务器的方法
2019/09/10 NodeJs
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
[01:32]寻找你心中的那团火 DOTA2 TI9火焰传递活动今日开启
2019/05/16 DOTA
用Python编写一个简单的Lisp解释器的教程
2015/04/03 Python
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
win7上python2.7连接mysql数据库的方法
2017/01/14 Python
python 内置函数filter
2017/06/01 Python
Python协程的用法和例子详解
2017/09/09 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
2020/03/16 Python
python爬虫scrapy框架的梨视频案例解析
2021/02/20 Python
纯css3实现宠物小鸡实例代码
2018/10/08 HTML / CSS
DOM和JQuery对象有什么区别
2016/11/11 面试题
女大学生个人求职信
2013/12/09 职场文书
物流管理专业职业生涯规划书
2014/01/06 职场文书
语文教学感言
2014/02/06 职场文书
少先队学雷锋活动月总结
2014/03/09 职场文书
个人存款证明书
2014/10/18 职场文书
工程催款通知书
2015/04/17 职场文书
Java对文件的读写操作方法
2022/04/29 Java/Android