前端实现搜索框筛选

效果图

在这里插入图片描述

页面解析

是一个input输入框和一个button按钮组成输入框查询
内容是一个折叠面板

html代码

<div class="left-content-box"><div class="colum-search"><el-input v-model="columKey" clearable placeholder="请输入关键字" style="width:200px"><el-button slot="append" icon="el-icon-search" type="primary" @click="filteredItems"></el-button></el-input></div><div class="search-list-box" style="height: 75vh;overflow-x: hidden;overflow-y: auto;"><el-collapse v-model="activeNames" v-if="productBigVerions && productBigVerions.length"><div v-for="(item, searchIndex) in productBigVerions" :key="searchIndex"><el-collapse-item v-if="item.children.length > 0" :title="item.name" :name="item.infoType"><div v-for="(itemSecond, indexSecond) in item.children" :key="indexSecond"><el-tooltipref="tlp":content="getShowName(itemSecond)"effect="dark":disabled="!tooltipFlag"placement="top-start"popper-class="tooltip-width"><p @mouseenter.stop="visibilityChange($event)" :class="ListActive === searchIndex && ListActiveTwo === indexSecond ? 'search-list-box-active' : ''" class="search-list-title"  @click="getListActive(searchIndex, indexSecond, itemSecond)">{{ getShowName(itemSecond) }}</p></el-tooltip></div></el-collapse-item></div></el-collapse><div class="empty-box" style="height: 100%;display: flex;align-items: center;justify-content: center;" v-else><img th:src="@{/web/assets/images/adapter/no-data-by-text.png}" style="width: 100%;"></div></div></div>

里面还做文本操作隐藏,鼠标移上显示全部,方法在我之前的文章有介绍

前端查询

数据
treeDatas是页面返回来的数据

var productBigVerionsList = [{ value: 'application', index: 1, infoType: 4, name: '应用系统', children: treeDatas[4] || [] },{ value: 'basic', index: 2, infoType: 1, name: '基础软件', children: treeDatas[1] || [] },{ value: 'softWareProduct', index: 3, infoType: 2, name: '应用软件', children: treeDatas[2] || [] },]
// 查询
filteredItems() {let productBigVerions = []this.productBigVerions = []// 是组装好的数据productBigVerionsList.forEach((res, index) => {// 一级标题不过滤,应用软件,基础软件等productBigVerions[index] = JSON.parse(JSON.stringify(res))// 二级标题存在相同的就存在相应的一级标题数据的children里productBigVerions[index].children = res.children.filter(item =>item.productName && item.productName.includes(this.columKey));})// 只有children有才会显示一级标题productBigVerions.forEach(res => {if (res.children.length > 0) {this.productBigVerions.push(res)}})},// 鼠标移上显示所有内容
visibilityChange(event) {const ev = event.targetconst ev_weight = ev.scrollWidth // 文本的实际宽度let content_weight = 0// console.log('78925', ev,ev.clientHeight, ev.scrollHeight,ev_weight, this.$refs.tlp[index].$el.parentNode.clientWidth)// 说明是有滚动条的if (this.$refs.tlp[0].$el.parentNode.clientWidth < 200) {content_weight = this.$refs.tlp[0].$el.parentNode.clientWidth + 20 // 文本容器宽度(父节点)} else {content_weight = this.$refs.tlp[0].$el.parentNode.clientWidth // 文本容器宽度(父节点)}if (ev_weight > content_weight) {// 文本宽度 > 实际内容宽度  =》内容溢出this.tooltipFlag = true} else {// 否则为不溢出this.tooltipFlag = false}},

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/669324.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis大数据统计之hyperloglog,GEO,Bitmap

目录 一、亿级系统常见的四中统计 1、聚合统计 2、排序统计 3、二值统计 4、基数统计 二、hyperloglog 去重的方式有哪些&#xff1f; hyperloglog实战演示 1、技术选型 2、代码演示 三、GEO GEO实战演示 四、Bitmap 一、亿级系统常见的四中统计 1、聚合统计 聚…

STM32F407移植OpenHarmony笔记7

继上一篇笔记&#xff0c;成功启动了liteos_m内核&#xff0c;可以创建线程了&#xff0c;也能看到shell控制台了。 今天研究文件系统&#xff0c;让控制台相关文件命令如mkdir和ls能工作。 liteos_m内核支持fatfs和littlefs两个文件系统&#xff0c; fatfs适用于SD卡&#xff…

将11.x.x升级至16.x.x不成功的一系列问题(二)node-sass sass-loader需安装指定版本

nvm 版本切换搞定了 咱就是说 那个node-sass好像有点毛病 还得指定对应的loaber版本 node.js 16.18.1对应的如下 “node-sass”: “^6.0.1”, “sass-loader”: “^10.0.1”, node.js 11.8.0 对应的如下 “node-sass”: “^4.14.1”, “sass-loader”: “^7.3.1”, 老项目即…

linux+rv1126/imx6ull:opencv静态库交叉编译(手把手百分百成功)

目录 1.下载 2.准备工作 2.1安装依赖环境 2.2安装Cmake 2.3 解压opencv 3.Cmake设置

python-题库篇-数学

文章目录 求最大公约数和最小公倍数斐波那契数列求和运算求前n阶乘的和求年龄 求最大公约数和最小公倍数 两个数的最大公约数是两个数的公共因子中最大的那个数&#xff1b;两个数的最小公倍数 则是能够同时被两个数整除的最小的那个数。 输入&#xff1a;&#xff08;120 和…

零基础如何入门渗透测试2024年最新版,保姆级教程,小白必看!

转眼间&#xff0c;从大三开始学安全&#xff0c;到现在也有五年了&#xff0c;也算是对渗透测试有一定理解&#xff0c;今天也是出一篇入门教程&#xff0c;以实操为主&#xff0c;希望可以帮助到想入门渗透测试的小白。如果觉得有用&#xff0c;可以给我点个赞和收藏&#xf…

Android: 深入理解 ‘companion object {}‘

Android: 深入理解 ‘companion object {}’ Kotlin是一种现代的、静态类型的编程语言&#xff0c;它在设计时充分考虑了开发者的生产力和代码的可读性。其中一个独特的特性就是companion object。在本篇博客中&#xff0c;我们将深入探讨这个特性&#xff0c;理解它的工作原理…

DBA不仅仅是管理数据库--也要管理中间件

看到这个标题可能觉得我在乱说&#xff0c;其实很多中间件作为数据库的上下游&#xff0c;它们的稳定取决于数据库的稳定。这里我主要指的是SQL。 很早之前我说开发的主题语言其实更多的是SQL&#xff08;这里并没有说Java不重要的意思&#xff09;&#xff0c;只是Java中并没有…

Java21 + SpringBoot3集成七牛云对象存储OSS,实现文件上传

文章目录 前言实现步骤引入maven依赖修改配置文件创建七牛云配置类创建文件操作服务类创建文件操作控制器前端实现运行效果 总结 前言 近日心血来潮想做一个开源项目&#xff0c;目标是做一款可以适配多端、功能完备的模板工程&#xff0c;包含后台管理系统和前台系统&#xf…

EOF和0区别

题目描述 KiKi学习了循环&#xff0c;BoBo老师给他出了一系列打印图案的练习&#xff0c;该任务是打印用“*”组成的X形图案。 输入描述&#xff1a; 多组输入&#xff0c;一个整数&#xff08;2~20&#xff09;&#xff0c;表示输出的行数&#xff0c;也表示组成“X”的反斜…

你的歌声婉转入云霄

可爱的一朵玫瑰花 - 吕继宏 可爱的一朵玫瑰花塞地玛丽亚 可爱的一朵玫瑰花塞地玛丽亚 那天我在山上打猎骑着马&#xff08;人善被人欺马善被人骑&#xff09; 正当你在山下歌唱婉转入云霄 歌声使我迷了路 我从山坡滚下 哎呀呀 你的歌声婉转入云霄 强壮的青年哈萨克伊万杜达尔 …

【八大排序】选择排序 | 堆排序 + 图文详解!!

&#x1f4f7; 江池俊&#xff1a; 个人主页 &#x1f525;个人专栏&#xff1a; ✅数据结构冒险记 ✅C语言进阶之路 &#x1f305; 有航道的人&#xff0c;再渺小也不会迷途。 文章目录 一、选择排序1.1 基本思想1.2 算法步骤 动图演示1.3 代码实现1.4 选择排序特性总结 二…

C/C++内存管理的底层调用逻辑

✨Blog&#xff1a;&#x1f970;不会敲代码的小张:)&#x1f970; &#x1f251;推荐专栏&#xff1a;C语言&#x1f92a;、Cpp&#x1f636;‍&#x1f32b;️、数据结构初阶&#x1f480; &#x1f4bd;座右铭&#xff1a;“記住&#xff0c;每一天都是一個新的開始&#x1…

【TCP/IP】用户访问一个购物网站时TCP/IP五层参考模型中每一层的功能

当用户访问一个购物网站时&#xff0c;网络上的每一层都会涉及不同的协议&#xff0c;具体网络模型如下图所示。 以下是每个网络层及其相关的协议示例&#xff1a; 物理层&#xff1a;负责将比特流传输到物理媒介上&#xff0c;例如电缆或无线信号。所以在物理层&#xff0c;可…

vue3项目实现预览图片、旋转图片功能

一、需求&#xff1a; 在点击图片时&#xff0c;能预览大图&#xff0c;弹出一个包含旋转图片功能按钮的弹窗。用户可通过点击按钮实现对图片的旋转操作 二、思路&#xff1a; 点击图片预览&#xff1a; 用户通过点击图片触发预览功能。接收图片的 URL&#xff0c;弹出一个模…

【GameFramework框架】四、GameFramework框架内置模块

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录&#xff1a; https://blog.csdn.net/q7…

问题:下列关于海关统计项目的表述,正确的有:A.进出境货物的统计重量和数量应以报关单位申报的重量和数 #笔记#职场发展#媒体

问题&#xff1a;下列关于海关统计项目的表述&#xff0c;正确的有&#xff1a;A&#xff0e;进出境货物的统计重量和数量应以报关单位申报的重量和数 下列关于海关统计项目的表述&#xff0c;正确的有&#xff1a; A&#xff0e;进出境货物的统计重量和数量应以报关单位申报的…

头歌C++语言之数学运算练习题(四)

目录 第1关:计算自行车踏板圆杆的最小半径 任务描述 编程要求 第2关:两条直线的夹角 任务描述 相关知识 setprecision(n) 编程要求 任务描述 相关知识

echarts使用之地图(五)

1 基本使用 百度地图 API : 使用百度地图的 api , 它能够在线联网展示地图 , 百度地图需要申请 ak 矢量地图 : 可以离线展示地图 , 需要开发者准备矢量地图数据。本文使用该方式。 json格式的数据如下&#xff1a; 格式参照&#xff1a;GeoJSON <!DOCTYPE html&…

element-plus 更换主题色

由于跟着官方文档可能出现报错[plugin:vite:css] [sass] Module loop: this module is already&#xff0c;于是写一份避坑指南。 1. 安装sass 基于vite的项目默认不支持css预处理器&#xff0c;需要开发者单独安装 npm i sass -D2. 准备定制化的样式文件 /* 只需要重写你需要…