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 相关文章推荐
js监听输入框值的即时变化onpropertychange、oninput
Jul 13 Javascript
JavaScript版DateAdd和DateDiff函数代码
Mar 01 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
Aug 07 Javascript
jQuery简单实现提交数据出现loading进度条的方法
Mar 29 Javascript
AngularJS优雅的自定义指令
Jul 01 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
Nov 07 Javascript
jquery 实现复选框的全选操作实例代码
Jan 24 Javascript
react-router JS 控制路由跳转实例
Jun 15 Javascript
javaScript 连接打印机,打印小票的实例
Dec 29 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
Apr 03 Javascript
微信小程序实现上传图片裁剪图片过程解析
Aug 22 Javascript
vue实现分页的三种效果
Jun 23 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
用libTemplate实现静态网页的生成
2006/10/09 PHP
深入解析php之sphinx
2013/05/15 PHP
php 批量替换程序的具体实现代码
2013/10/04 PHP
织梦sitemap地图实时推送给百度的教程
2015/08/03 PHP
微信支付PHP SDK ―― 公众号支付代码详解
2016/09/13 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
PHP数组基本用法与知识点总结
2020/06/02 PHP
javascript在一段文字中的光标处插入其他文字
2007/08/26 Javascript
js中匿名函数的N种写法
2010/09/08 Javascript
animate动画示例(泪奔的小孩)及stop和delay的使用
2013/05/06 Javascript
js检验密码强度(低中高)附图
2014/06/05 Javascript
JavaScript实现的石头剪刀布游戏源码分享
2014/08/22 Javascript
一个JavaScript操作元素定位元素的实例
2014/10/29 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
JavaScript位移运算符(无符号) &gt;&gt;&gt; 三个大于号 的使用方法详解
2016/03/31 Javascript
ionic组件ion-tabs选项卡切换效果实例
2016/08/27 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
Vue.js 中的 $watch使用方法
2017/05/25 Javascript
详解让sublime text3支持Vue语法高亮显示的示例
2017/09/29 Javascript
vue video和vue-video-player实现视频铺满教程
2020/10/30 Javascript
Python3 模块、包调用&amp;路径详解
2017/10/25 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
2019/02/13 Python
Python谱减法语音降噪实例
2019/12/18 Python
pytorch1.0中torch.nn.Conv2d用法详解
2020/01/10 Python
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
Clarks其乐鞋荷兰官网:Clarks荷兰
2019/07/05 全球购物
文员个人求职自荐信
2013/09/21 职场文书
出纳的岗位职责
2013/11/09 职场文书
管理信息系学生的自我评价
2014/01/11 职场文书
英语专业职业生涯规划范文
2014/03/05 职场文书
小学生春游活动方案
2014/08/20 职场文书
浪漫婚礼主题活动策划方案
2014/09/15 职场文书
自荐信格式范文
2015/03/04 职场文书
2015企业年终工作总结范文
2015/05/27 职场文书
python中pd.cut()与pd.qcut()的对比及示例
2022/06/16 Python