vue+element 树形结构 改成懒加载模式(原理element有),这里只做个人理解笔记

1

找到属性标签添加 lazy 和 :load="loadNode"    这两个属性

2

引入树形接口,并和后端约定好传值,(拿我的举例 

第一次获取全部父级默认第一次传参数:{ parentId : 0},可获取全部父级

第二次通过点击的子级把子级id传进去,这一步就用到了:load="loadNode"  这个方法,完全自动把子级放到对应的父级上去) 

第三和后端沟通好每一层里给你带leaf:true(是最后一层)leaf:false(不是最后一层)     我这里用的是树状表格的接口  所以在方法里循环转换了一下值  但是结果和原理不变
[这个值可以控制树🌲形结构前边的"三角"或"+"显示不显示的],就是可以看到是不是最后一级,还能不能打开

import { treeselect } from '@/api/system/123/456/dept'     //引入的接口

3

data里添加对应值

下边是代码:懒得写的可以复制字段值

 // 部门树选项deptOptions: undefined,defaultProps: {children: 'children',label: 'label',isLeaf: 'leaf'},

先获取全部父级 并循环付给对应值 (如果能和后端商量好字段可能不用前端forEach循环赋值)

 /** 查询部门下拉树结构 */getTreeselect() {treeselect({parentId:0}).then((response) => {this.deptOptions = response.datathis.deptOptions.forEach(item=>{item.leaf = !item.hasChildrenitem.label = item.deptName})})},

   提醒  在这里别忘了把方法夹到created()里

 created() {this.getTreeselect()},

5

懒加载方法node.level === 0的时候添加获取父级的接口,node.level === 1的时候把子级ID传进去

resolve(response.data) 就自动把获取的子级放到对应的位置了

 loadNode(node, resolve) {if (node.level === 0) {treeselect({ parentId : 0}).then((response) => {response.data.map(item=>{item.leaf = !item.hasChildrenitem.label = item.deptName})resolve(response.data);})}if (node.level >= 1){setTimeout(() => {treeselect({ parentId : node.data.deptId}).then((response) => {response.data.map(item=>{item.leaf = !item.hasChildrenitem.label = item.deptName})resolve(response.data);})}, 500);};},

赠送内容  添加搜索 和后端约定好不传parentId只传参数  返回对应值

 <el-inputv-model="deptName":placeholder="请输入参数"clearablesize="mini"style="margin-bottom: 20px"></el-input>

然后watch监听这个参数

  watch: {// 根据名称筛选部门树deptName(val) {this.deptOptions =[]if(val){var objquery = {deptName : val,}treeselect(objquery).then((response) => {response.data.map(item=>{item.leaf = !item.hasChildrenitem.label = item.deptName})this.deptOptions = response.datathis.$refs.tree.filter(response.data[0].deptName)})}else{this.getTreeselect()}},

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

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

相关文章

路由器使用docker安装mysql和redis服务

路由器使用docker安装mysql和redis服务 1.先在路由器中开启docker功能 &#xff08;需要u盘 或者 移动硬盘&#xff09; 2. docker 管理地址 :http://192.168.0.1:11180/#/ 3. 拉取镜像 4. mysql容器参数设置 MYSQL_ROOT_PASSWORD 5. redis 容器设置 开发经常需要用到 &…

Synchronized关键字的深入分析

一、引言 在多线程编程中&#xff0c;正确地管理并发是确保程序正确运行的关键。Java提供了多种同步工具&#xff0c;其中synchronized关键字是最基本且最常用的同步机制之一。本文旨在深入解析synchronized的实现原理&#xff0c;探讨其在不同应用场景中的使用&#xff0c;并…

(ChatGPT中文、吾爱Al、核桃、WeexAl地址发布页、ai创作、Chat中文)分享好用的ChatGPT

目录 1、ChatGPT 中文 - Chat GPT 2、吾爱AI 3、 核桃 4、WeexAI 地址发布页 5、ai创作

​解析什么是物联网接入网关?-天拓四方

随着物联网技术的飞速发展&#xff0c;越来越多的设备、传感器和系统被连接到互联网&#xff0c;形成了一个庞大的、相互连接的智能网络。在这个网络中&#xff0c;物联网接入网关扮演着至关重要的角色&#xff0c;它不仅是连接物联网设备和云平台的桥梁&#xff0c;还是实现设…

数据结构-二叉树-堆(二)

一、建堆的时间复杂度问题 1、除了向上调整建堆&#xff0c;我们还可以向下调整建堆。不能在根上直接开始向下调整。这里的条件就是左右子树必须都是大堆或者小堆。我们可以倒着往前走&#xff0c;可以从最后一个叶子开始调整。但是从叶子开始调整没有意义。所以我们可以从倒数…

【华为OD机试】5G网络建设【C卷|200分】

【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述 现需要在某城市进行5G网络建设,已经选取N个地点设置5G基站,编号固定为1到N, 接下来需要各个基站之间使用光纤进行连接以确保基站能互联互通,不同基站之间假设光纤的成本各不相同,且有…

mysql的多表查询和子查询

多表查询&#xff1a;查询数据时&#xff0c;需要使用多张表来查询 多表查询分类&#xff1a; 1.内连接查询 2.外连接查询 3.子查询 笛卡尔积&#xff1a; create table class (id int primary key auto_increment,name varchar(10) ); create table student (id int primar…

serdes 同轴电缆和双绞线接法

1、同轴电缆 Coaxial Cable 2、双绞线STP&#xff08;Shielded Twisted Pair&#xff09; 比如我们用的车载camera一般就只需要接一路即可&#xff0c;RIN接camera&#xff0c; RIN-通过电容接地。

python基础——正则表达式

&#x1f4dd;前言&#xff1a; 这篇文章主要想讲解一下python中的正则表达式&#xff1a; 1&#xff0c;什么是正则表达式 2&#xff0c;re模块三匹配 3&#xff0c;元字符匹配 4&#xff0c;具体示例 &#x1f3ac;个人简介&#xff1a;努力学习ing &#x1f4cb;个人专栏&am…

qt中的取整函数

在Qt中&#xff0c;有以下几种常用的取整函数&#xff0c;用于处理浮点数的取整操作&#xff1a; 1. **qCeil()** - 向上取整&#xff1a; 该函数返回大于或等于给定浮点数的最小整数。如果输入值是正数&#xff0c;它会将小数部分去掉并增加到下一个整数&#xff1b;如果是…

重新理解React-hook

Hook是什么 Hook是React16.8版本新增的特性,它可以让我们在不写类组件的情况下使用state以及其他的React特性。 它解决了以下这些问题: 逻辑复杂的组件难以开发和维护,当我们的组件需要处理多个互不相关的local state时,每个生命周期函数中可能包含着各种互相关的逻辑类组…

认识HTTP

HTTP缺点 通信使用明文&#xff08;不加密&#xff09;&#xff0c;内容可能会被窃听 不验证通信方的身份&#xff0c;可能遭遇伪装 无法证明报文的完整性&#xff0c;所以有可能遭篡改 一、通信使用明文&#xff08;不加密&#xff09;&#xff0c;内容可能会被窃听 TCP/…

Git--基础学习--面向企业--持续更新

一、基础学习 1.1基本命令 //查询基础信息 git config --global --list //选取合适位置创建 mkdir 文件名 //创建文件夹 //全局配置 git config --global user.email "****e***i" git config --global user.name "*** K****"//--------------------进入…

西瓜书学习——线性判别分析

文章目录 定义LDA的具体步骤1. 计算类内散布矩阵&#xff08;Within-Class Scatter Matrix&#xff09;2. 计算类间散布矩阵&#xff08;Between-Class Scatter Matrix&#xff09;3. 求解最佳投影向量4. 数据投影5. 分类 定义 线性判别分析&#xff08;Linear Discriminant A…

函数指针 和 指针函数

1、函数指针 函数指针是指向函数的指针变量。它可以用于存储函数的地址&#xff0c;允许在运行时动态选择要调用的函数。&#xff08;是一个指针&#xff09; //函数指针的形式 返回类型 (*指针变量名) 参数列表int add(int a,int b){return ab; }int subtract(int a,int b){…

mysql相关基础操作

安装 [rootlocalhost ~]# yum install mariadb-server mariadb -y # 自动监听3306端口 [rootlocalhost ~]# systemctl start mariadb.service [rootlocalhost ~]# systemctl enable mariadb.service [rootlocalhost ~]# netstat -lntup安全初始化 修改root用户的密码,新版本可…

php动态高亮web源代码

php动态高亮web源代码 注&#xff1a;配置好不允许高亮的文件名&#xff0c;安全第一 #php实现动态展示目录树结构源代码 适用于开放源代码&#xff0c;结合html缓存使用效果更佳&#xff0c;因循环较多不适合放首页 能力有限没实现行号 演示&#xff1a;show source|开放…

【Pytorch】NameError: name ‘Variable‘ is not defined

报错 NameError Traceback (most recent call last) Cell In[20], line 42 for epoch in range(num_epochs):3 if torch.cuda.is_available(): ----> 4 inputs Variable(x_train).cuda()5 target Variable(y_train).…

AWS云服务器选择哪个区域最好?

AWS每个区域都有特点&#xff0c;并无谁好谁坏的说法。云服务器最佳区域的选择取决于多个因素&#xff0c;包括业务需求、用户位置、数据合规性、延迟需求以及成本等。接下来是AWS的合作伙伴九河云提供的一些考虑因素和建议&#xff1a; &#xff08;1&#xff09;业务需求&am…

多家企业机密数据遭Lockbit3.0窃取,亚信安全发布《勒索家族和勒索事件监控报告》

本周态势快速感知 本周全球共监测到勒索事件87起&#xff0c;与上周相比勒索事件大幅下降。美国依旧为受勒索攻击最严重的国家&#xff0c;占比45%。 本周Cactus是影响最严重的勒索家族&#xff0c;Lockbit3.0和Bianlian恶意家族紧随其后&#xff0c;从整体上看Lockbit3.0依旧…