• 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)]

  • 相关阅读:
    Python刷题系列(9)_Pandas_Series
    栈与队列(JAVA)
    Linux(CentOS)安装MySQL教程
    第 372 场 LeetCode 周赛题解
    spark内存管理
    199道SpringCloud面试题,你能答上来吗
    优思学院|何谓六西格玛?满足顾客,让公司获利!
    11-stream流-流水线编码、filter等中间方法、forEach等终止方法、collect获取返回结果方法、lambda练习
    Werewolf puzzle Privacy Policy
    Linux安装Tomcat最新版
  • 原文地址:https://blog.csdn.net/2401_85124286/article/details/139799362