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学习笔记之获取当前目录的实现代码
Dec 14 Javascript
Jquery getJSON方法详细分析
Dec 26 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
May 19 Javascript
jQery使网页在显示器上居中显示适用于任何分辨率
Jun 09 Javascript
jQuery实现的fixedMenu下拉菜单效果代码
Aug 24 Javascript
百度地图给map添加右键菜单(判断是否为marker)
Mar 04 Javascript
js制作网站首页图片轮播特效代码
Aug 30 Javascript
微信小程序录音与播放录音功能
Dec 25 Javascript
服务端预渲染之Nuxt(使用篇)
Apr 08 Javascript
javascript原型链学习记录之继承实现方式分析
May 01 Javascript
koa2的中间件功能及应用示例
Mar 05 Javascript
vue组件实现移动端九宫格转盘抽奖
Oct 16 Javascript
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
用PHP实现文件上传二法
2006/10/09 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
php使用ereg验证文件上传的方法
2014/12/16 PHP
php 三元运算符实例详细介绍
2016/12/15 PHP
php微信公众号开发(4)php实现自定义关键字回复
2016/12/15 PHP
javascript中的有名函数和无名函数
2007/10/17 Javascript
一个轻量级的javascript库 pj介绍
2010/12/19 Javascript
Jquery实现简单的动画效果代码
2012/03/18 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
每天一篇javascript学习小结(属性定义方法)
2015/11/19 Javascript
原生js实现addClass,removeClass,hasClass方法
2016/04/27 Javascript
Avalonjs双向数据绑定与监听的实例代码
2017/06/23 Javascript
js+canvas实现验证码功能
2020/09/21 Javascript
Vue常见面试题整理【值得收藏】
2018/09/20 Javascript
微信小程序引用iconfont图标的方法
2018/10/22 Javascript
新手快速入门微信小程序组件库 iView Weapp
2019/06/24 Javascript
js 数据类型判断的方法
2020/12/03 Javascript
python 多进程通信模块的简单实现
2014/02/20 Python
Python 结巴分词实现关键词抽取分析
2017/10/21 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
pytorch中的transforms模块实例详解
2019/12/31 Python
新手入门学习python Numpy基础操作
2020/03/02 Python
PyQt5实现简单的计算器
2020/05/30 Python
基于python实现复制文件并重命名
2020/09/16 Python
新英格兰最大的特色礼品连锁店:The Paper Store
2018/07/23 全球购物
大专毕业生简历的自我评价
2013/10/20 职场文书
化工专业个人的求职信范文
2013/11/28 职场文书
餐厅考勤管理制度
2014/01/28 职场文书
运动会邀请函范文
2014/02/06 职场文书
中考冲刺决心书
2014/03/11 职场文书
优秀应届本科生求职信
2014/07/19 职场文书
国际贸易系求职信
2014/08/09 职场文书
学习型党组织心得体会
2014/09/12 职场文书
2014年库房工作总结
2014/11/26 职场文书
SpringBoot集成Druid连接池连接MySQL8.0.11
2021/07/02 Java/Android
java设计模式--原型模式详解
2021/07/21 Java/Android