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

el-select如何获取到filterable过滤后的数据;el-select全选与filterable过滤组合使用;

文章目录一、问题二、解决方案一、问题提示el-select的filterable单独过滤筛选使用正常全选按钮单独使用也正常但是两者结合使用的时候先过滤再全选会导致数据不正常目标过滤后的全选希望值增加所过滤的所有相但是实际会将整体下拉项都选中二、解决方案自定义filter-method过滤事件与状态判断修改封装组件MySelectAll.vuetemplatediv!--div{{checkAll}}-{{indeterminate}}-{{flterMsg}}-{{values}}/div--el-select blurblurFunv-modelvalues:filter-methodhandleFiltermultiple collapse-tags clearable filterable stylewidth: 100%changehandleChecktemplate #headerel-checkbox v-modelcheckAll:indeterminateindeterminatechangehandleCheckAll全部/el-checkbox/templateel-option v-foritem in filteredOptions:keyitem:labelitem.name:valueitem.value//el-select/div/templatescript setupimport{ref,watch,onMounted}fromvueconstemitdefineEmits([update:modelValue])constpropsdefineProps({// 传入查询关键字options:{type:Array,default:()[]},modelValue:{// 父组件 v-model 时数据没有指定参数名所以此时属性modelValue会接收到v-model变量 即 flag1type:Array,default:()[]}})letlistref(props.options||[])letfilteredOptionsref(props.options||[])letvaluesref(props.modelValue||[])constcheckAllref(false)constindeterminateref(false)letflterMsgref(undefined)watch([()values.value,()flterMsg.value],([val,msg]){// 需要监听过滤字段 也触发对用状态判断效果leta1if(a2){console.log(msg)}if(valnull||valundefined){checkAll.valuefalseindeterminate.valuefalse}else{if(val.length0){checkAll.valuefalseindeterminate.valuefalse}else{lethasAllSonfilteredOptions.value.every(eleval.includes(ele.value))lethasNoAllSonfilteredOptions.value.every(ele!val.includes(ele.value))if(hasNoAllSon){checkAll.valuefalseindeterminate.valuefalse}elseif(hasAllSon){checkAll.valuetrueindeterminate.valuefalse}else{checkAll.valuetrueindeterminate.valuetrue}}}},{deep:true,immediate:true})watch(()props.options,val{list.valueval filteredOptions.valueval},{deep:true,immediate:true})consthandleFiltermsg{flterMsg.valuemsg filteredOptions.valuelist.value.filter(itemitem.name.includes(msg))}constblurFun(){console.log(1)flterMsg.valueundefined}consthandleCheckAllval{console.log(val)indeterminate.valuefalseif(val){letarrJSON.parse(JSON.stringify(values.value))letarr2filteredOptions.value.map(__.value)values.value[...newSet([...arr,...arr2])]}else{letarrJSON.parse(JSON.stringify(values.value))letarr2filteredOptions.value.map(__.value)values.valuearr.filter(_!arr2.includes(_))}emit(update:modelValue,values.value)}consthandleCheck(){emit(update:modelValue,values.value)}// 生命周期onMounted((){})/scriptstyle langscssscoped/style使用组件MySelectAll v-modelnetworkNameList:optionsnetworkNameArrplaceholder请选择网络名称/MySelectAll// networkNameList为双下个绑定选择值// options为下拉数据
http://www.gsyq.cn/news/1337935.html

相关文章:

  • java springboot-vue爱心公益网站
  • 海南税务咨询避坑指南|TOP5机构优缺点实测,新手企业必看 - 速递信息
  • 终极开源解决方案:3步高效解密网易云音乐NCM加密格式
  • 如何在Apple平台上轻松实现ZIP文件压缩与解压缩:SSZipArchive完整使用指南
  • Windows虚拟游戏控制器终极指南:vJoy如何解决您的游戏输入难题
  • Perplexity经济新闻搜索:5步构建专属财经情报流水线(附2024最新API调用参数)
  • 2026阳泉市城区黄金回收铂金回收白银回收深度实测 五大正规门店横屏 报价透明 免费上门才是真靠谱 - 亦辰小黄鸭
  • iFakeLocation终极指南:3分钟掌握iOS虚拟定位的完整解决方案
  • 告别安装失败:详解MDK5安装中的三大常见误区(路径、权限与Pack包管理)
  • ncmdumpGUI终极指南:3步轻松解锁网易云音乐NCM加密文件
  • 给汇编新手的Bomblab避坑指南:Phase_4递归和Phase_6链表到底该怎么看?
  • 2026铜川市耀州区黄金回收铂金回收白银回收深度实测 五大正规门店横屏 报价透明 免费上门才是真靠谱 - 亦辰小黄鸭
  • 维普AIGC检测怎么过?2026年5月4款降AI工具实测知网到10%
  • 游戏修改体验革命:Wand-Enhancer 解锁 WeMod 无限潜能指南
  • 部署与维护:ADI HDL项目的生产环境应用指南
  • Netcap 核心功能解析:58种审计记录类型如何全面监控网络活动
  • Perplexity语言学习资源私密工作流(内部学员专享):基于CEFR B2+真实语料库构建的动态难度调节模型
  • 如何在Android设备上获得终极动漫观影体验:Hanime1插件完整指南
  • UDEV Gothic字体测试与质量保证:确保跨平台兼容性的完整流程
  • 告别B站界面混乱:3步找回经典小电视播放器
  • 终极Unity资产提取指南:5分钟掌握AssetRipper专业工作流
  • 别再只仿真了!Simulink步进电机模型如何关联真实Arduino驱动器?
  • Beyond Compare 5密钥生成终极指南:5分钟免费激活完整教程
  • Thorium浏览器:基于Chromium的极致性能优化与隐私保护技术深度解析
  • 5分钟上手TegraRcmGUI:Windows平台最简单的Switch注入工具终极指南
  • ARM GIC与Zynq中断架构详解:从通用原理到PL/PS实战配置
  • 如何深度优化Wand应用体验:Wand-Enhancer配置增强实践指南
  • 猫抓Cat-Catch终极指南:从浏览器嗅探到流媒体下载的完整技术解析
  • 终极碧蓝航线自动化脚本:一键解放双手的完整解决方案
  • 从零到一:WPR机器人仿真平台实战指南,快速掌握ROS机器人开发精髓