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中几种排序算法的简单实现
Jul 29 Javascript
JavaScript数组各种常见用法实例分析
Aug 04 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
Aug 03 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
Aug 26 Javascript
浅谈js函数三种定义方式 &amp; 四种调用方式 &amp; 调用顺序
Feb 19 Javascript
详解node nvm进行node多版本管理
Oct 21 Javascript
vue 中filter的多种用法
Apr 26 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
Nov 27 Javascript
JavaScript对JSON数组简单排序操作示例
Jan 31 Javascript
JS栈stack类的实现与使用方法示例
Jan 31 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
Jul 15 Javascript
JS原型prototype和__proto__用法实例分析
Mar 14 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 使用post,get的一种简洁方式
2010/04/25 PHP
discuz的php防止sql注入函数
2011/01/17 PHP
PHP乱码问题,UTF-8乱码常见问题小结
2012/04/09 PHP
浅析PHP7 的垃圾回收机制
2019/09/06 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
json数据处理技巧(字段带空格、增加字段、排序等等)
2013/06/14 Javascript
node.js中的fs.stat方法使用说明
2014/12/16 Javascript
DOM基础教程之使用DOM + Css
2015/01/20 Javascript
JavaScript常用基础知识强化学习
2015/12/09 Javascript
Bootstrap轮播加上css3动画,炫酷到底!
2015/12/22 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
2017/07/19 jQuery
JavaScript中的高级函数
2018/01/04 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
Layui表格行工具事件与数据回填方法
2019/09/13 Javascript
JavaScript实现英语单词题库
2019/12/24 Javascript
vue实现购物车的监听
2020/04/20 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
Python3.4实现远程控制电脑开关机
2018/02/22 Python
Python实现图片尺寸缩放脚本
2018/03/10 Python
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
python 通过文件夹导入包的操作
2020/06/01 Python
Python 多进程原理及实现
2020/12/21 Python
使用Python封装excel操作指南
2021/01/29 Python
来自南加州灵感的工作和娱乐服装:TravisMathew
2019/05/01 全球购物
公共汽车、火车和飞机票的通用在线预订和销售平台:INFOBUS
2019/11/30 全球购物
IMPORT的选项IGNORE有什么作用?缺省是什么设置?
2015/09/17 面试题
自荐信如何制作?
2014/02/21 职场文书
品酒会策划方案
2014/05/26 职场文书
社团活动总结格式
2014/08/29 职场文书
股权转让协议范本
2014/12/07 职场文书
爱心募捐通知范文
2015/04/27 职场文书
学校光盘行动倡议书
2015/04/28 职场文书
故意伤害辩护词
2015/05/21 职场文书
观看安全警示教育片心得体会
2016/01/15 职场文书
了解Kubernetes中的Service和Endpoint
2022/04/01 Servers
Win10 最新稳定版本 21H2开始推送
2022/04/19 数码科技