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和Ajax中文乱码吐血版解决方案
Dec 21 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
Jan 28 Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
Oct 09 Javascript
JavaScript中创建对象的7种模式详解
Feb 21 Javascript
微信小程序网络请求的封装与填坑之路
Apr 01 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
Jan 26 Javascript
angularjs 获取默认选中的单选按钮的value方法
Feb 28 Javascript
详解关于vue-area-linkage走过的坑
Jun 27 Javascript
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
Nov 02 Javascript
js实现掷骰子小游戏
Oct 24 Javascript
原生js实现商品筛选功能
Oct 28 Javascript
vue引入Excel表格插件的方法
Apr 28 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
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
2015/04/03 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
setAttribute 与 class冲突解决
2008/02/17 Javascript
javascript插入样式实现代码
2012/02/22 Javascript
jQuery拖动图片删除示例
2013/05/10 Javascript
javaScript 动态访问JSon元素示例代码
2013/08/30 Javascript
JS刷新当前页面的几种方法总结
2013/12/24 Javascript
JQuery动画与特效实例分析
2015/02/02 Javascript
jQuery性能优化技巧分析
2015/02/20 Javascript
深入理解JavaScript编程中的同步与异步机制
2015/06/24 Javascript
基于javascript数组实现图片轮播
2016/05/02 Javascript
ASP.NET jquery ajax传递参数的实例
2016/11/02 Javascript
bootstrap常用组件之头部导航实现代码
2017/04/20 Javascript
Vue 滚动行为的具体使用方法
2017/09/13 Javascript
vue-awesome-swiper滑块插件使用方法详解
2017/11/27 Javascript
JS实现的集合去重,交集,并集,差集功能示例
2018/03/13 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
layerui代码控制tab选项卡,添加,关闭的实例
2019/09/04 Javascript
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
2020/11/07 Javascript
放弃 Python 转向 Go语言有人给出了 9 大理由
2017/10/20 Python
Python中enumerate函数代码解析
2017/10/31 Python
用python爬取租房网站信息的代码
2018/12/14 Python
python实现播放音频和录音功能示例代码
2018/12/30 Python
使用k8s部署Django项目的方法步骤
2019/01/14 Python
详解Python locals()的陷阱
2019/03/26 Python
python Pandas如何对数据集随机抽样
2019/07/29 Python
Python代码块及缓存机制原理详解
2019/12/13 Python
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
2015/10/13 面试题
党风廉政建设责任书
2014/04/14 职场文书
考试作弊检讨书范文
2015/01/27 职场文书
长城导游词300字
2015/01/30 职场文书
2016高考寄语或鼓励的话语
2015/12/04 职场文书