当前位置: 首页 > article >正文

element-ui plus 中 filter-method 函数多次触发问题解决

前情提要

点进这个文章的小伙伴,应该都是为了解决一个需求,把原本的前端过滤改为后端过滤,但是将filter-method修改为后端取数据后,发现其触发了很多次。博主也是在修改表格过滤时用到了这个坑,本篇文章为大家解决一下,具体的演示示例在最下方,小伙伴可以直接复制查看

filter-method为什么会触发多次

其实很简单,在官方文档中便有提示,filter-method 方法本质是通过遍历行来实现的筛选,相当于会对每一行调用函数进行判断,所以当我们调整成取接口逻辑后,一次筛选就会触发多次
在这里插入图片描述

使用 filter-change 函数解决

知道了原因,我们就要选择正确的方法解决,在官方文档中我们找到 filter-change 函数,该函数是通过一次筛选整个表格实现过滤,只会触发1次,刚好满足我们的需求
在这里插入图片描述
接着,代码中原本的 filter-method 函数删除,加上 column-key 属性来绑定字段,因为本示例是单个条件筛选,我们把 filter-multiple 属性设置为 false ,最后在el-table 标签上添加新的函数 filter-change,即完成了筛选函数的替换

  <el-table :data="tableData" @filter-change="filterHandler"><el-table-column prop="type" column-key="type" label="类型" :filters="typeFilters" :filter-multiple="false"><template #default="scope"><el-tag v-if="scope.row.type===1" type="info">类型1</el-tag><el-tag v-else type="primary">类型2</el-tag></template></el-table-column></el-table>

完整演示示例

<script setup lang="ts">
import {ref} from 'vue'
const tableData = ref([])
const query = ref({type:''})
const typeFilters =  [{ value: 1, text: '类型1' },{ value: 2, text: '类型2' }]
const getTableData = () => {// 这里改成取后台接口的逻辑const source = [{type:1},{type:2},{type:1}]const data = []source.forEach(row=>{if(query.value.type && query.value.type!==row.type){return    }data.push(row)})tableData.value = data
}
getTableData()
const filterHandler = (column)=>{for(const key in column){query.value[key] = column[key][0]}getTableData()
}
</script><template><el-table :data="tableData" @filter-change="filterHandler"><el-table-column prop="type" column-key="type" label="类型" :filters="typeFilters" :filter-multiple="false"><template #default="scope"><el-tag v-if="scope.row.type===1" type="info">类型1</el-tag><el-tag v-else type="primary">类型2</el-tag></template></el-table-column></el-table>
</template>

相关文章:

element-ui plus 中 filter-method 函数多次触发问题解决

前情提要 点进这个文章的小伙伴&#xff0c;应该都是为了解决一个需求&#xff0c;把原本的前端过滤改为后端过滤&#xff0c;但是将filter-method修改为后端取数据后&#xff0c;发现其触发了很多次。博主也是在修改表格过滤时用到了这个坑&#xff0c;本篇文章为大家解决一下…...

基于【Lang Chain】构建智能问答系统的实战指南

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《深度探秘&#xff1a;AI界的007》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、什么是Lang Chain 2、LangChain在问答系统中的核心优…...

idea的快捷键使用以及相关设置

文章目录 快捷键常用设置 快捷键 快捷键作用ctrlshift/注释选中内容Ctrl /注释一行/** Enter文档注释ALT SHIFT ↑, ALT SHIFT ↓上下移动当前代码Ctrl ALT L格式化代码Ctrl X删除所在行并复制该行Ctrl D复制当前行数据到下一行main/psvm快速生成入口程序soutSystem.o…...

TestHubo安装及入门指南

TestHubo是一款开源免费的测试管理工具&#xff0c;提供一站式测试解决方案&#xff0c;涵盖功能测试、接口测试、性能测试以及 Web 和 App 测试等多个维度。TestHubo 整合了全面的测试能力&#xff0c;使团队可以在一个平台内完成所有测试需求。本文将介绍如何快速安装配置及入…...

react tailwindcss最简单的开始

参考教程&#xff1a; Install Tailwind CSS with Vite - TailwindCSS中文文档 | TailwindCSS中文网https://www.tailwindcss.cn/docs/guides/vite操作过程&#xff1a; Microsoft Windows [版本 10.0.26100.3476] (c) Microsoft Corporation。保留所有权利。D:\gitee\tailwi…...

openGauss新特性 | 自动参数化执行计划缓存

目录 自动化参数执行计划缓存简介 SQL参数化及约束条件 一般常量参数化示例 总结 自动化参数执行计划缓存简介 执行计划缓存用于减少执行计划的生成次数。openGauss数据库会缓存之前生成的执行计划&#xff0c;以便在下次执行该SQL时直接使用&#xff0c;可…...

3、组件:魔法傀儡的诞生——React 19 组件化开发全解析

一、开篇&#xff1a;魔法傀儡的觉醒 "每个React组件都像一具魔法傀儡&#xff0c;"邓布利多校长挥动魔杖&#xff0c;空中浮现出闪烁的代码字符&#xff0c;"它们能自主思考、协同工作&#xff0c;甚至能跨越时空&#xff08;服务器与客户端&#xff09;执行任…...

使用Python实现矢量路径的压缩、解压与可视化

引言 在图形设计和Web开发中&#xff0c;矢量路径数据的高效存储与传输至关重要。本文将通过一个Python示例&#xff0c;展示如何将复杂的矢量路径命令序列压缩为JSON格式&#xff0c;再将其解压还原&#xff0c;并通过matplotlib进行可视化。这一过程可应用于字体设计、矢量图…...

达梦数据库迁移问题总结

更多技术博客&#xff0c;请关注微信公众号&#xff1a;运维之美 问题一、DTS工具运行乱码 开启图形化 [rootlocalhost ~]# xhost #如果命令不存在执行sudo yum install xorg-x11-server-utils xhost: unable to open display "" [rootlocalhost ~]# su - dmd…...

OpenHarmony荷兰研习会回顾 | 仓颉语言赋能原生应用开发实践

近日&#xff0c;由全球顶级学术峰会EuroSys/ASPLOS和OpenHarmony社区在荷兰鹿特丹合办的操作系统深度研习会圆满收官&#xff0c;本次研习会以"架构探秘-开发实践-创新实验"三位一体的进阶模式&#xff0c;为全球开发者构建了沉浸式技术探索平台。其中&#xff0c;由…...

【远程工具】0 std::process::Command 介绍

std::process::Command 是 Rust 标准库中用于创建和配置子进程的主要类型。它允许你启动新的进程、设置其参数和环境变量、重定向输入/输出等。 基本用法 use std::process::Command;let output Command::new("echo").arg("Hello, world!").output().ex…...

【JAVA】JVM 堆内存“缓冲空间”的压缩机制及调整方法

1. 缓冲空间是否可压缩&#xff1f; 是的&#xff0c;JVM 会在满足条件时自动收缩堆内存&#xff0c;将未使用的缓冲空间释放回操作系统。但需满足以下条件&#xff1a; GC 触发堆收缩&#xff1a;某些垃圾回收器&#xff08;如 G1、Serial、Parallel&#xff09;在 Full GC …...

RV1126 人脸识别门禁系统解决方案

1. 方案简介 本方案为类人脸门禁机的产品级解决方案,已为用户构建一个带调度框架的UI应用工程;准备好我司的easyeai-api链接调用;准备好UI的开发环境。具备低模块耦合度的特点。其目的在于方便用户快速拓展自定义的业务功能模块,以及快速更换UI皮肤。 2. 快速上手 2.1 开…...

matlab内置的git软件版本管理功能

1、matlab多人协作开发比普通的嵌入式软件开发困难很多 用过matlab的人都知道,版本管理对于matlab来说真的很费劲,今天介绍的这个工具也不是说它就解决了这个痛点,只是让它变得简单一点。版本管理肯定是不可或缺的,干就完了 2、操作说明 如图所示,源代码管理,选项罗列的…...

【问题排查】SQLite安装失败

启动 Django 自带的开发服务器 python manage.py runserver出现如下报错&#xff1a; [rootiZ2zedudtf2cwzi9argky2Z myproject]# python manage.py runserver Watching for file changes with StatReloader Performing system checks...System check identified no issues (…...

Express中间件(Middleware)详解:从零开始掌握(2)

1. 请求耗时中间件的增强版 问题&#xff1a;原版只能记录到控制台&#xff0c;如何记录到文件&#xff1f; 改进点&#xff1a; 使用process.hrtime()是什么&#xff1f;获取更高精度的时间支持将日志写入文件记录更多信息(IP地址、状态码)工厂函数模式使中间件可配置 con…...

《前端面试题之 CSS篇(第一集)》

目录 1、CSS的盒模型2、CSS选择器及其优先级3、隐藏元素的方法有那些4、px、em、rem的区别及使用场景5、重排、重绘有什么区别6、水平垂直居中的实现7、CSS中可继承与不可继承属性有哪些8、Sass、Less 是什么&#xff1f;为什么要使用他们&#xff1f;9、CSS预处理器/后处理器是…...

MySQL部分总结

mysql学习笔记&#xff0c;如有不足还请指出&#xff0c;谢谢。 外连接&#xff0c;内连接&#xff0c;全连接 外连接&#xff1a;左外、右外 内连接&#xff1a;自己和自己连接 全连接&#xff1a;左外连接右外链接 mysql unique字段 unique可以在数据库层面避免插入相同…...

2025第十六届蓝桥杯PythonB组部分题解

一、攻击次数 题目描述 小蓝操控三个英雄攻击敌人&#xff0c;敌人初始血量2025&#xff1a; 第一个英雄每回合固定攻击5点第二个英雄奇数回合攻击15点&#xff0c;偶数回合攻击2点第三个英雄根据回合数除以3的余数攻击&#xff1a;余1攻2点&#xff0c;余2攻10点&#xff0…...

RocketMQ 中的 MessageStore 组件:消息存储的核心枢纽

引言 在现代分布式系统中&#xff0c;消息队列扮演着至关重要的角色&#xff0c;它能够实现系统间的异步通信、解耦服务以及削峰填谷等功能。RocketMQ 作为一款高性能、高可靠的分布式消息队列&#xff0c;在众多企业级应用中得到了广泛的应用。而在 RocketMQ 的架构体系里&am…...

Linux Kernel 2

地址空间&#xff08;Address Space&#xff09; 一、物理地址空间&#xff08;Physical Address Space&#xff09; 物理地址空间 是指 RAM 和设备内存 在系统内存总线上所呈现的地址布局。 举例&#xff1a;在典型的 32 32 32 位 Intel 架构中&#xff0c; RAM&#xff08…...

AndroidTV D贝桌面-v3.2.5-[支持文件传输]

AndroidTV D贝桌面 链接&#xff1a;https://pan.xunlei.com/s/VONXSBtgn8S_BsZxzjH_mHlAA1?pwdzet2# AndroidTV D贝桌面-v3.2.5[支持文件传输] 第一次使用的话&#xff0c;壁纸默认去掉的&#xff0c;不需要按遥控器上键&#xff0c;自己更换壁纸即可...

线性方程组的解法

文章目录 线性方程组的解法认识一些基本的矩阵函数MATLAB 实现机电工程学院教学函数构造1.高斯消元法2.列主元消去法3. L U LU LU分解法 线性方程组的解法 看到以下线性方程组的一般形式&#xff1a;设有以下的 n n n阶线性方程组&#xff1a; A x b \mathbf{Ax}\mathbf{b} A…...

轻量级锁是什么?轻在哪里?重量级锁是什么?重在哪里?

轻量级锁 vs 重量级锁&#xff1a;核心区别与设计哲学 在JVM的锁优化体系中&#xff0c;轻量级锁和重量级锁是两种不同竞争强度下的解决方案。它们的核心差异体现在 资源消耗、适用场景和实现机制 上。以下是详细对比&#xff1a; 一、轻量级锁&#xff08;Thin Lock&#xff…...

Python赋能量子计算:算法创新与应用拓展

量子计算与Python结合的算法开发与应用研究 摘要 量子计算作为计算机科学的前沿技术,凭借其独特的计算能力在解决复杂问题方面展现出巨大潜力。Python作为一种高效、灵活的编程语言,为量子计算算法的开发提供了强大的支持。本文从研究学者的视角,系统探讨了量子计算与Pytho…...

Java学习笔记(多线程):ReentrantLock 源码分析

本文是自己的学习笔记&#xff0c;主要参考资料如下 JavaSE文档 1、AQS 概述1.1、锁的原理1.2、任务队列1.2.1、结点的状态变化 1.3、加锁和解锁的简单流程 2、ReentrantLock2.1、加锁源码分析2.1.1、tryAcquire()的具体实现2.1.2、acquirQueued()的具体实现2.1.3、tryLock的具…...

【LeetCode 热题100】二叉树构造题精讲:前序 + 中序建树 有序数组构造 BST(力扣105 / 108)(Go语言版)

&#x1f331; 二叉树构造题精讲&#xff1a;前序 中序建树 & 有序数组构造 BST 本文围绕二叉树的两类构造类题目展开解析&#xff1a; 从前序与中序遍历序列构造二叉树 将有序数组转换为二叉搜索树 我们将从「已知遍历构造树」和「平衡构造 BST」两个角度&#xff0c;拆…...

【软考系统架构设计师】系统配置与性能评价知识点

1、 常见的性能指标 主频外频*倍频 主频1/CPU时钟周期 CPI&#xff08;Clock Per Instruction&#xff09;平均每条指令的平均时间周期数 IPC&#xff08;Instruction Per Clock&#xff09;每时钟周期运行指令数 MIPS百万条指令每秒 MFLOPS百万个浮点操作每秒 字长影响运算的…...

【android bluetooth 协议分析 01】【HCI 层介绍 1】【hci_packets.pdl 介绍】

在 AOSP 的蓝牙协议栈 (Gabeldorsche) 中&#xff0c;hci_packets.pdl 是一个 协议描述语言文件&#xff0c;用于定义 HCI (Host Controller Interface) 层的数据包结构和通信协议。以下是详细解析&#xff1a; 1. 文件作用 system/gd/hci/hci_packets.pdl 协议自动化生成&…...

低资源需求的大模型训练项目---调研0.5B大语言模型

一、主流0.5B大语言模型及性能对比 1. Qwen系列&#xff08;阿里&#xff09; • Qwen2.5-0.5B&#xff1a;阿里2024年9月开源的通义千问系列最小尺寸模型&#xff0c;支持32K上下文长度和8K生成长度。在中文场景下表现优异&#xff0c;指令跟踪、JSON结构化输出能力突出&…...