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中面向对象技术的模拟
Sep 25 Javascript
setTimeout 不断吐食CPU的问题分析
Apr 01 Javascript
Bootstrap CSS组件之导航条(navbar)
Dec 17 Javascript
jQuery实现简易的输入框字数计数功能示例
Jan 16 Javascript
jQuery EasyUI Panel面板组件使用详解
Feb 28 Javascript
Javascript实现从小到大的数组转换成二叉搜索树
Jun 13 Javascript
cocos creator Touch事件应用(触控选择多个子节点的实例)
Sep 10 Javascript
Vue+SpringBoot开发V部落博客管理平台
Dec 27 Javascript
深入理解vue中的slot与slot-scope
Apr 22 Javascript
JS面向对象之单选框实现
Jan 17 Javascript
vue中如何添加百度统计代码
Dec 19 Vue.js
使用Ajax实现进度条的绘制
Apr 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
探讨:parse url解析URL,返回其组成部分
2013/06/14 PHP
64位windows系统下安装Memcache缓存
2015/12/06 PHP
PHP+MySQL实现无极限分类栏目的方法
2015/12/23 PHP
Javascript 二维数组
2009/11/26 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
精通Javascript系列之数据类型 字符串
2011/06/08 Javascript
Javascript基础教程之break和continue语句
2015/01/18 Javascript
JavaScript实现页面5秒后自动跳转的方法
2015/04/16 Javascript
JavaScript中Number.MIN_VALUE属性的使用示例
2015/06/04 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
JavaScript中自带的 reduce()方法使用示例详解
2016/08/10 Javascript
简单实现bootstrap选项卡效果
2017/02/08 Javascript
angular.js 路由及页面传参示例
2017/02/24 Javascript
纯js代码生成可搜索选择下拉列表的实例
2018/01/11 Javascript
使用vue2实现购物车和地址选配功能
2018/03/29 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
2018/07/25 Javascript
微信小程序按钮点击动画效果的实现
2019/09/04 Javascript
深入了解JavaScript词法作用域
2020/07/29 Javascript
Antd-vue Table组件添加Click事件,实现点击某行数据教程
2020/11/17 Javascript
python实现在无须过多援引的情况下创建字典的方法
2014/09/25 Python
python cx_Oracle模块的安装和使用详细介绍
2017/02/13 Python
python Celery定时任务的示例
2018/03/13 Python
python实现代码统计程序
2019/09/19 Python
jupyter 实现notebook中显示完整的行和列
2020/04/09 Python
keras-siamese用自己的数据集实现详解
2020/06/10 Python
Matplotlib.pyplot 三维绘图的实现示例
2020/07/28 Python
基于CSS3 animation动画属性实现轮播图效果
2017/09/12 HTML / CSS
服务员岗位责任制
2014/02/11 职场文书
《自选商场》教学反思
2014/02/14 职场文书
股票投资建议书
2014/05/19 职场文书
公开承诺书格式
2014/05/21 职场文书
十佳家长事迹材料
2014/08/26 职场文书
护士爱岗敬业心得体会
2016/01/25 职场文书
MySQL连接控制插件介绍
2021/09/25 MySQL
JS数组去重详情
2021/11/07 Javascript
Python的三个重要函数详解
2022/01/18 Python