el-tree懒加载状态下实现搜索筛选(纯前端)
1.效果图
(1)初始状态

(2)筛选后

2.代码
<template><div><el-inputplaceholder="输入关键字进行过滤"v-model="filterText"@input="searchValue"></el-input><el-treeclass="filter-tree"node-key="id":lazy="!openAll":load="loadNode":data="dataTree":props="defaultProps":default-expand-all="openAll"ref="tree"></el-tree></div>
</template>
<script>
export default {data() {return {openAll: false,filterText: '',dataTree: [{id: 1,label: 'xx公司',children: [{id: 3,label: '公关',children: [{id: 6,label: '张三'},{id: 7,label: '李四'}]},{id: 8,label: '公关领导'}]},{id: 2,label: 'yy娱乐',children: [{id: 4,label: '王五'},{id: 5,label: '赵六'}]}],defaultProps: {children: 'children',label: 'label',isLeaf: 'isLeaf',id: 'id'},dataTree1: []}},created() {this.dataTree1 = JSON.parse(JSON.stringify(this.dataTree))},methods: {searchValue() {this.$nextTick(() => {if (this.filterText &&this.filterText !== '' &&this.filterText !== null) {this.openAll = true//关闭懒加载this.$refs.tree.$data.store.lazy = false//全部展开this.$refs.tree.$data.store.defaultExpandAll = true//深拷贝let options = JSON.parse(JSON.stringify(this.dataTree))//清空this.$set(this, 'dataTree', [])//筛选要显示的节点this.searchTrees(options, this.filterText)//重新赋值this.$set(this, 'dataTree', options)} else {this.openAll = falsethis.$refs.tree.$data.store.lazy = truethis.$refs.tree.$data.store.defaultExpandAll = falsethis.$set(this, 'dataTree', this.dataTree1)}})},//循环树筛选要显示的节点searchTrees(arr, val) {let flag = falseif (arr && arr.length > 0) {for (let i = arr.length - 1; i >= 0; i--) {if (arr[i].children && arr[i].children.length > 0) {let tempflag = this.searchTrees(arr[i].children, val)if (tempflag == false) {arr.splice(i, 1)} else {flag = true}} else {if (arr[i].label.indexOf(val) === -1) {arr.splice(i, 1)} else {flag = true}}}return flag}},//懒加载(根据自己的数据来写)loadNode(node, resolve) {this.$nextTick(() => {if (this.openAll === false) {if (node.level === 0) {let topData = []this.dataTree.forEach(item => {topData.push({ label: item.label, id: item.id, isLeaf: false })})return resolve(topData)}//一级下拉if (node.level === 1) {let firstData = []this.dataTree.forEach(item => {if (item.id === node.data.id) {item.children.forEach(e => {firstData.push({label: e.label,id: e.id,isLeaf: e.children ? false : true})})}})return resolve(firstData)}// 二级下拉if (node.level === 2) {let secondData = []this.dataTree.forEach(item => {item.children.forEach(e => {if (e.id === node.data.id) {e.children.forEach(i => {secondData.push({label: i.label,id: i.id,isLeaf: true})})}})})return resolve(secondData)}}})}}
}
</script>
相关文章:
el-tree懒加载状态下实现搜索筛选(纯前端)
1.效果图 (1)初始状态 (2)筛选后 2.代码 <template><div><el-inputplaceholder"输入关键字进行过滤"v-model"filterText"input"searchValue"></el-input><el-tree…...
NLP——Transfromer 架构详解
Transformer总体架构图 输入部分:源文本嵌入层及其位置编码器、目标文本嵌入层及其位置编码器 编码器部分 由N个编码器层堆叠而成 每个编码器层由两个子层连接结构组成 第一个子层连接结构包括一个多头自注意力子层和规范化层以及一个残差连接 第二个子层连接结构包…...
大模型算法面试题(二十)
本系列收纳各种大模型面试题及答案。 1、描述Encoder和Decoder中Attention机制的不同之处 Encoder和Decoder中的Attention机制在自然语言处理(NLP)和序列到序列(Seq2Seq)模型中扮演着重要角色,它们虽然都利用了Attent…...
2024最新最全面的Selenium 3.0 + Python自动化测试框架
文档说明 Selenium是一个用于Web应用程序自动化测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。 Selenium测试的主要功能包括: 测试与浏览器的兼容性:测试应用程序是否能很好的工作在不同的浏览器和操作系统之上。…...
海运中的甩柜是怎么回事❓怎么才能避免❓
什么是甩柜? 甩柜又叫甩箱,是指集装箱船在起运离港时,船公司没有将此前计划装船的集装箱装运上船,导致部分货物滞留港口。多出现在海运旺季。 为什么会甩柜? 甩箱是集装箱物流中常见的事件,主要因为承运…...
Win11+docker+gpu+vscode+pytorch配置anomalib(2)
在上一篇文章中,我在Win11上通过Docker配置了pytorch,并顺利调用了GPU。在这篇文章中,我将继续完成anomalib的配置。 anomalib是一个非常完善的异常检测框架,我希望通过它来学习经典异常检测算法,并且测试这些算法在我自己的数据集上的效果。 步骤如下: 1. 从docker Hub上…...
AI在招聘市场趋势分析中的应用
一、引言 在数字化、智能化的时代背景下,人工智能(AI)技术正逐步渗透到各行各业,其中招聘市场也不例外。AI技术的运用不仅极大地提高了招聘的效率和精准度,还在招聘市场趋势分析方面展现出巨大的潜力。本文旨在探讨AI在…...
AMEYA360:太阳诱电应对 165℃的叠层金属类功率电感器实现商品化!
太阳诱电株式会社实现了可以满足车载被动部件认定的可靠性试验规格“AEC-Q200”的叠层金属类功率电感器 MCOIL™“LACNF2012KKTR24MAB”(2.0x1.25x1.0mm,高度为最大值)等 4 个产品的商品化。通过本公司独有的金属类材料和叠层工艺的提高,在叠层金属类功率…...
Nginx进阶-常见配置(三)
nginx 变量 Nginx的配置文件使用的语法的就是一门微型的编程语言。既然是编程语言,一般也就少不了“变量”这种东西。 Nginx配置文件使用的语法主要包括以下几个方面: (1)配置块 (Block Directives): Nginx配置文件由多个嵌套的…...
开源协作式书签管理器推荐
不知道有没有人和我一样,不怎么爱用app,反而喜欢保留用古老的浏览器浏览新闻和知识的习惯。那么归档网页和书签一定是你非常头疼的事情。 推荐一款开源软件:Linkwarden ,这是一款独立的开源协作式书签管理器。 Linkwarden 允许用户收集、组…...
【线性代数】【二】2.2极大线性无关组与向量空间的基
文章目录 前言一、极大线性无关组二、向量空间的基三、向量维数与向量空间维数总结 前言 上一篇中我们介绍了向量空间的概念,并且学习了对任意给出的一组向量,如果构造一个向量空间。本文将更加细致的去分析张成一个向量空间,具有哪些性质。…...
STM32常见的下载方式有三种
经过对比,推荐使用 SWD下载,只需要一个仿真器(如jLINK、ST LINK、 CMSIS DAP 等),比较方便。 不推荐使用串口下载(速度慢、无法仿真和调试)和 JTAG 下载(占用 IO 多)。...
RK3568-npu模型转换推理
1. rknn-toolkit2-1.4.0进行模型转换和模型推理 1.1 虚拟机转换和模拟器推理(要求ubuntu18+python3.6) sudo apt-get install python3 python3-dev python3-pip sudo apt-get install libxslt1-dev zlib1g-dev libglib2.0 libsm6 libgl1-mesa-glx libprotobuf-dev gcc cd ~…...
《C语言程序设计 第4版》笔记和代码 第十二章 数据体和数据结构基础
12.1从基本数据类型到抽象数据类型 1 所有的程序设计语言都不能将所有复杂数据对象作为其基本数据类型,因此需要允许用户自定义数据类型,在C语言中,就存在构造数据类型(复合数据类型)。 2 结构体是构造数据类型的一种…...
学习记录——day26 进程间的通信 无名管道 无名管道 信号通信 特殊的信号处理
目录 一、进程间通信引入 二、无名管道 1、无名管道相关概念 2、无名管道的API接口函数 pipe(int pipefd[2]); 3、管道通信的特点 4、管道的读写特点 三、有名管道 1、有名管道:有名字的管道文件,其他进程可以调用 2、可以用于亲缘进程间的通信&…...
WHAT - xmlhttprequest vs fetch vs wretch
目录 前言1. XMLHttpRequest (XHR)2. fetch3. wretch总结 fetch1. 简洁性和易用性2. 错误处理3. 默认行为和功能扩展4. 请求和响应的处理5. 跨域请求和 CORS6. 现代 Web 开发需求 fetch vs xhr 代码示例使用 XMLHttpRequest使用 fetch代码对比 前言 根据标题我们可以知道今天主…...
吴恩达老师机器学习作业-ex7(聚类)
导入库,读取数据,查看数据类型等进行分析,可视化数据 import matplotlib.pyplot as plt import numpy as np import scipy.io as sio#读取数据 path "./ex7data2.mat" data sio.loadmat(path) # print(type(data)) # print(data…...
lombok 驼峰命名缺陷,导致后台获取参数为null的解决办法
1.问题: 下面是我定义一个请求类的属性,采用Lombok注解,自动构建get和set方法。 Schema(description "父组织编码", requiredMode Schema.RequiredMode.REQUIRED) private String pOrgCode; 遇到这种命名,你会发现在…...
【dockerpython】亲测有效!适合新手!docker创建conda镜像+容器使用(挂载、端口映射、gpu使用)+云镜像仓库教程
文章目录 docker基本概念简介配置镜像加速源创建conda镜像1. 写 Dockerfile文件2. 创建镜像3. 创建容器并测试 容器的使用1. wsl挂载2. 端口映射3. 补充-gpu 云镜像仓库使用1. 登录2. 将本地镜像上传至云镜像仓库3. 从云镜像仓库下载镜像到本地 docker基本概念简介 简单来讲&a…...
矩阵,求矩阵秩、逆矩阵
求矩阵秩的方法: 高斯消元法:通过行变换将矩阵化为行阶梯形矩阵,然后数非零行的数量。LU分解:通过分解矩阵成上下三角矩阵,计算非零对角元素的数量。SVD分解:通过奇异值分解,计算非零奇异值的数…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
Caliper 配置文件解析:fisco-bcos.json
config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...
给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
