vue实现多条件和模糊搜索功能


Posted in Javascript onMay 28, 2019

本文实例为大家分享了vue实现多条件和模糊搜索的具体代码,供大家参考,具体内容如下

html

<div class="content">
 <div class="right">

  <select name="sex" width='100' v-model="formData.sex">
  <option value="" selected>请选择</option>
  <option value="1">男</option>
  <option value="2">女</option>
  <option value="3">不是人</option>
  </select>

  <input type="text" v-model="formData.phone" placeholder="电话(精准搜索)">

  <input type="text" v-model="formData.name" placeholder="姓名(模糊搜索)">

  <button @click="search(formData)">提交数据</button>
 </div>
 <div class="left">
  <ul>
  <li v-for="(item,index) in realList" :key="index">
   {{item.name}} || {{item.phone}} || {{item.sex | filterSex}}
  </li>
  </ul>
 </div>
 </div>

js

export default {
 name: 'styleTest',
 data() {
 return {
  formData: {
  name: '',
  phone: '',
  sex: '',
  },
  realList: [],
  list: [
  {
   name: '张址',
   phone: 18715023011,
   sex: 1,
  },
  {
   name: '张三',
   phone: 18715023012,
   sex: 2,
  },
  {
   name: '李四',
   phone: 18715023013,
   sex: 1,
  },
  {
   name: '赵武',
   phone: 18715023014,
   sex: 2,
  },
  {
   name: '晋南',
   phone: 18715023015,
   sex: 1,
  },
  {
   name: '张东',
   phone: 18715023016,
   sex: 2,
  },
  ],
 };
 },
 filters: {
 filterSex(val) {
  switch (val) {
  case 1:
   return '男';
   break;
  case 2:
   return '女';
   break;
  case 3:
   return '不是人';
   break;
  default:
   return '男';
  }
 },
 },
 computed: {
 // realList() {
 // let { name, phone, sex } = this.formData;
 // if (name && phone && sex) {
 //  return this.list;
 // }
 // },
 },
 created() {
 this.search({});
 },
 methods: {
 search({ name, phone, sex }) {
  this.realList = this.list.filter(item => {
  let matchName = true; // 姓名 筛选
  let matchSex = true; // 性别 筛选
  let matchPhone = true; // 号码 筛选

  if (sex) {
   matchSex = item.sex == sex;
  }

  if (phone) {
   // console.info(Object.prototype.toString.call(phone));
   matchPhone = item.phone == phone;
  }

  if (name) {
   // 模糊搜索;
   const keys = name
   .toUpperCase() // 转大写
   .replace(' ', '') // 删掉空格
   .split(''); // 切割成 单个字

   matchName = keys.every(key => item.name.toUpperCase().includes(key));
  }
  return matchName && matchPhone && matchSex;
  });
 },
 },
};

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用一段js程序来实现动画功能
Mar 06 Javascript
常用的JavaScript模板引擎介绍
Feb 28 Javascript
jQuery实现鼠标划过添加和删除class的方法
Jun 26 Javascript
javascript中的深复制详解及实例分析
Dec 29 Javascript
从零学习node.js之简易的网络爬虫(四)
Feb 22 Javascript
jQuery插件zTree实现删除树节点的方法示例
Mar 08 Javascript
代码分析vue中如何配置less
Sep 28 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
Dec 30 Javascript
jQuery实现轮播图效果
Nov 26 jQuery
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
Apr 04 jQuery
详解element上传组件before-remove钩子问题解决
Apr 08 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
Aug 31 Javascript
vue实现路由切换改变title功能
May 28 #Javascript
Vue 无限滚动加载指令实现方法
May 28 #Javascript
vue实现搜索过滤效果
May 28 #Javascript
微信小程序 image组件遇到的问题
May 28 #Javascript
vue实现搜索功能
May 28 #Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
May 28 #Javascript
如何实现双向绑定mvvm的原理实现
May 28 #Javascript
You might like
JavaScript 学习点滴记录
2009/04/24 Javascript
extjs fckeditor集成代码
2009/05/10 Javascript
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
jQuery根据元素值删除数组元素的方法
2015/06/24 Javascript
jQuery获取DOM节点实例分析(2种方式)
2015/12/15 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
Javascript生成带参数的二维码示例
2016/10/10 Javascript
JavaScript对JSON数据进行排序和搜索
2017/07/24 Javascript
JavaScript中的高级函数
2018/01/04 Javascript
详解Vue中watch的高级用法
2018/05/02 Javascript
解决vue-cli3 使用子目录部署问题
2018/07/19 Javascript
vue 实现单选框设置默认选中值
2019/11/07 Javascript
vscode 插件开发 + vue的操作方法
2020/06/05 Javascript
[01:39]2014DOTA2国际邀请赛 Newbee经理CU专访队伍火力全开
2014/07/15 DOTA
python继承和抽象类的实现方法
2015/01/14 Python
Python实现图片转字符画的示例
2017/08/22 Python
Python字符串和字典相关操作的实例详解
2017/09/23 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
2018/01/10 Python
Python扩展内置类型详解
2018/03/26 Python
Python增强赋值和共享引用注意事项小结
2019/05/28 Python
一文秒懂python读写csv xml json文件各种骚操作
2019/07/04 Python
django 多数据库及分库实现方式
2020/04/01 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
入党积极分子思想汇报
2014/01/02 职场文书
简历里的自我评价范文
2014/02/24 职场文书
公司总经理工作职责管理办法
2014/02/28 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
领导班子四风对照检查材料
2014/09/23 职场文书
公司经营目标责任书
2015/01/29 职场文书
学校党员干部承诺书
2015/05/04 职场文书
商务宴会祝酒词
2015/08/11 职场文书
2016年教师党员承诺书范文
2016/03/24 职场文书
详解Redis实现限流的三种方式
2021/04/27 Redis
python双向链表实例详解
2022/05/25 Python