• vxe-table 列表过滤踩坑_vxe-table筛选


    但是这个过滤输入值必须是跟列表的值必须一致才能查到,没做到模糊查询的功能,根据关键字来过滤并没有实现。

    下面提供一下具体实现方法:(关键字来过滤)

            filterNameMethod({ option, row  }) {
                if (row.name.indexOf(option.data) > -1) {
                    console.log(row.name)
                    return row.name
                }
            },
    

    2. 通过checkbox 过滤的方式来实现
    2-1 checkbox
      单选的实现:
    添加 :filter-multiple=“false” 属性就是单选

    每次只能选中一个去过滤,具体实现方法:

    :filters="[{label: 'Man', value: '1'}, {label: 'Woman', value: '0'}]" 
    

    注意:这里是因为后端返回的  sex 的id  和 value 的id  能对上所以能实现过滤功能
    如果,后端只返回 sex 对应的label 值呢, 你这时候怎么处理?  sex2: ‘Woman’,   sex2: ‘Man’,

    解决方法: 就是把 过滤的数组 filters:数组里面的 label 和value 的值, 都变成一致的 label 值。

    :filters="[{label: 'Man', value: 'Man'}, {label: 'Woman', value: 'Woman'}]" 
    
      
    

    2-2 checkbox   多选的实现:

    很简单去掉:**:filter-multiple=“false”**属性就是多选

          
    

    注意: 多选如果遇到,后台返回的只有lab值, 无 value 值的情况同单选的处理方法一样,就不写了。

    2-3 checkbox 其他方式  下拉框里面的选择后过滤

    注意: 返回值和下拉框选择的值必须一致都是label 的值才可以使用。

    实现方法:

          
            
          
    
      data() {
        return {
          sexList: ["Man", "Woman"],
    }
    }
    
        filterSexMethod({ option, row }) {
          return row.sex4 === option.data
        }
    

    3. 全局过滤筛选方法:

    实现方法如下:

        
            // 根据数据关键字实现模糊查询功能
            searchList() {
                const keyword = this.searchs
    		    const pattern = new RegExp(keyword, 'i'); // 不区分大小写
    			let newData = this.tableData.filter(item => {
    				return pattern.test(item.name)
    			})
                console.log('newData:', newData)
                this.tableData = JSON.parse(JSON.stringify(newData))
    		},
    

    目前只是根据 name 去做的全局过滤的,如果想要查询更多列的内容可以在  return pattern.test(item.name) 后面添加: return pattern.test(item.name) || return pattern.test(item.role) …

    最后

    总的来说,面试官要是考察思路就会从你实际做过的项目入手,考察你实际编码能力,就会让你在电脑敲代码,看你用什么编辑器、插件、编码习惯等。所以我们在回答面试官问题时,有一个清晰的逻辑思路,清楚知道自己在和面试官说项目说技术时的话就好了

    就会让你在电脑敲代码,看你用什么编辑器、插件、编码习惯等。所以我们在回答面试官问题时,有一个清晰的逻辑思路,清楚知道自己在和面试官说项目说技术时的话就好了

    [外链图片转存中…(img-BHYDDsXq-1718770848679)]

    [外链图片转存中…(img-YHeHwi7c-1718770848680)]

  • 相关阅读:
    【2023美团后端-8】删除字符串的方案,限制不能连续删
    灌区流量监测设备:农田灌溉的“智慧眼”
    indexOf()与incldes()的异同 -- js随记
    Ubuntu20.04下安装MySQL8环境
    基于FPGA的电子万年历设计
    策略模式-实战
    【深入浅出Spring原理及实战】「缓存Cache开发系列」带你深入分析Spring所提供的缓存Cache抽象详解的核心原理探索
    【CSDN竞赛】一些对于比赛的看法和想要为大学生推荐的一些竞赛
    超好用的大数据分析平台分享,SuccBI 一站式大数据分析平台
    Python实现微博舆情分析的设计与实现
  • 原文地址:https://blog.csdn.net/2401_85124286/article/details/139799362