vue实现前端列表多条件筛选


Posted in Javascript onOctober 26, 2020

本文实例为大家分享了vue实现前端列表多条件筛选的具体代码,供大家参考,具体内容如下

1、先上图:

vue实现前端列表多条件筛选

2、搜索条件绑定的数据是:

filterForm:{
 schoolName:'',//输入的学校名称
 position:'',//选择的区域区域
 schoolLevel:"",//选择的学校办别
},
schoolList:[
 {schoolName:'青岛市实验高级中学',schoolLevel:"",position:'山东省青岛市城阳区硕阳路69号'},
 {schoolName:'山东省青岛第二中学',schoolLevel:"",position:'山东省青岛市崂山区松岭路70号'},
 {schoolName:'山东省青岛第一中学',schoolLevel:"",position:'山东省青岛市市南区单县路46号'},
 {schoolName:'山东省青岛第三十九中学',schoolLevel:"",position:'市南区登州路5号'},
 {schoolName:'山东省青岛第六中学',schoolLevel:"",position:'山东省青岛市黄岛区云台山路66号'},
 {schoolName:'山东省青岛第十九中学',schoolLevel:"",position:'山东省青岛市即墨区鳌山卫街道卫场路69号'},
 {schoolName:'青岛艺术学校',schoolLevel:"",position:'青岛市李沧区九水路176号'},
 {schoolName:'山东省青岛第九中学',schoolLevel:"",position:'山东省青岛市黄岛区七星河路559号'},
 {schoolName:'青岛电子学校',schoolLevel:"",position:'山东省青岛市市北区台东一路118号'}
],//其中schoolList是元数据
resull:[]//搜索结果,也是列表循环的数据

3、监听:

watch: {
 // 监听对象变化
 filterForm:{
 handler(val, oldVal){
  if(val){
  // 如果筛选条件全为空,查全部;否则按条件筛选
  var objIsEmpty = this.filterForm.schoolName == '' && this.filterForm.schoolLevel == '' && this.filterForm.position == ''
  if(objIsEmpty){
   this.result = this.schoolList
  } else {
   // /拿到有值的参数
   let tempFilter = {};
   for(var key in this.filterForm) {
   if(typeof(this.filterForm[key]) != "undefined" && typeof(this.filterForm[key]) != "null" && this.filterForm[key] != null && this.filterForm[key] != "") {
    tempFilter[key] = this.filterForm[key];
   }
   }
   // console.log(tempFilter,'输出tempFilter')
   this.result = this.schoolList.filter(
   //筛选
   (item) => {
    let flag = false;
    for(key in tempFilter) {
    console.log(key,'输出key')
     if(item[key].toString().indexOf(tempFilter[key].toString()) >= 0) {
     flag = true;
     } else {
                    flag = false;
                    break;
                  }
                }
                if(flag) {
                  return item;
                }
              }
            );
            console.log(this.result,'输出筛选结果')
          }
        }
      },
      deep:true
    }
}

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

更多vue学习教程请阅读专题《vue实战教程》

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

Javascript 相关文章推荐
老鱼 浅谈javascript面向对象编程
Mar 04 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
May 12 Javascript
Javascript中匿名函数的调用与写法实例详解(多种)
Jan 26 Javascript
js 定义对象数组(结合)多维数组方法
Jul 27 Javascript
ajax级联菜单实现方法实例分析
Nov 28 Javascript
Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例
Dec 08 Javascript
JavaScript中利用构造器函数模拟类的方法
Feb 16 Javascript
AngularJS中$http使用的简单介绍
Mar 17 Javascript
JS实现随机抽选获奖者
Nov 07 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
Nov 16 Javascript
JavaScript 实现继承的几种方式
Feb 19 Javascript
vue+elementUI实现表格列的显示与隐藏
Apr 13 Vue.js
vue实现单一筛选、删除筛选条件
Oct 26 #Javascript
vue通过接口直接下载java生成好的Excel表格案例
Oct 26 #Javascript
基于elementUI竖向表格、和并列的案例
Oct 26 #Javascript
原生js实现贪吃蛇游戏
Oct 26 #Javascript
JavaScript实现五子棋小游戏
Oct 26 #Javascript
详解vue3.0 的 Composition API 的一种使用方法
Oct 26 #Javascript
vue3.0 加载json的方法(非ajax)
Oct 26 #Javascript
You might like
精致的人儿就要挑杯子喝咖啡
2021/03/03 冲泡冲煮
TMDPHP 模板引擎使用教程
2012/03/13 PHP
PHP中的随机性 你觉得自己幸运吗?
2016/01/22 PHP
详解yii2实现分库分表的方案与思路
2017/02/03 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
Javascript 各浏览器的 Javascript 效率对比
2008/01/23 Javascript
javascript 网页跳转的方法
2008/12/24 Javascript
锋利的jQuery 要点归纳(一) jQuery选择器
2010/03/21 Javascript
IE6不能修改NAME问题的解决方法
2010/09/03 Javascript
JQuery里选择超链接的实现代码
2011/05/22 Javascript
JS 实现图片直接下载示例代码
2013/07/22 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
2015/07/18 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
JavaScript实现简单Tip提示框效果
2016/04/20 Javascript
AngularJS基础 ng-href 指令用法
2016/08/01 Javascript
原生js实现放大镜
2017/02/20 Javascript
Vue实现点击后文字变色切换方法
2018/02/11 Javascript
vue 实现的树形菜的实例代码
2018/03/19 Javascript
分享5个小技巧让你写出更好的 JavaScript 条件语句
2018/10/20 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
2019/07/24 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
Python学习笔记之if语句的使用示例
2017/10/23 Python
python 简单备份文件脚本v1.0的实例
2017/11/06 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
python绘制地震散点图
2019/06/18 Python
python redis连接 有序集合去重的代码
2019/08/04 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
2020/02/21 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
2020/12/08 Python
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
维德科技C#面试题笔试题
2015/12/09 面试题
销售总经理岗位职责
2014/03/15 职场文书
机械原理课程设计心得体会
2016/01/15 职场文书
springboot+WebMagic+MyBatis爬虫框架的使用
2021/08/07 Java/Android
python脚本框架webpy模板赋值实现
2021/11/20 Python