通过el-table 树形材料,子行数据能够异步加载

news/2025/10/8 19:36:23/文章来源:https://www.cnblogs.com/yxysuanfa/p/19130007

1、

<el-table
border
:header-cell-style="tableStyle?.headerCellStyle"
ref="tableRef"
:data="tableData"
row-key="id"
:
default-expand-all="false" // 默认不展开所有树形节点
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
/*
配置树形结构的属性,
children:指定子节点数据的字段名,
hasChildren:指定一个布尔值字段,表示是否有子节点
这样组件就知道如何递归渲染树形结构。*/
lazy // 启用懒加载模式(子节点数据不会一次性加载,而是当用户展开某个节点时,通过load方法动态加载)
:load="load"
/*
指定懒加载时调用的方法,这里绑定的是load方法。
当用户展开一个节点时,会触发这个方法,传入当前行的数据和resolve回调函数,用于异步加载子节点数据。
*/
>
<
/el-table>
import {
treeByParentId
}
from '/@/api/admin/dept'
;
const tableData = ref([]
)
let nowRowId = ref(''
)
const getTableList = (parentId
) =>
{
return
new Promise(resolve =>
{
treeByParentId({
parentId
}
).then(res =>
{
if(res.code == 0 && Array.isArray(res.data)
){
resolve(res.data)
}
else {
resolve([]
)
useMessage(
).error(res.msg || '数据已加载完毕'
)
}
}
).catch((
) =>
{
resolve([]
)
}
)
}
)
}
const load =
async (row, treeNode, resolve
) =>
{
if (!row.hasChildren) {
return resolve([]
)
}
else {
nowRowId.value = row.id
const data =
await getTableList(row.id)
row.children = data
resolve(data)
}
}
const getData =
async (parentId = nowRowId.value
) =>
{
// 查询的时候,如果deptName的值不为空,parentId置为空
if(state.queryForm.deptName != ''
){
parentId = ''
}
const {
data
} =
await treeByParentId({
parentId, deptName: state.queryForm.deptName
}
)
tableData.value = data
}
onMounted((
) =>
{
getData(
)
}
)
// 重置
const reset = (
) =>
{
nowRowId.value = ''
state.queryForm.deptName = ''
getData(
)
}

2、

接口的数据结构:

{
"code": 0
,
"data": [
{
"id": "唯一标识"
,
"name": "节点名称"
,
"hasChildren": true
, // 必须字段!
"children": [] // 必须字段(即使为空数组)
}
,
// ...其他节点
]
}

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

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

相关文章

[KaibaMath]1002 关于[x+n]=[x]+n的证明

[KaibaMath]1002 关于[x+n]=[x]+n的证明对x+n进行取整运算时,可将整数n提取到[]之外,这无疑简化了取整运算。

SpringBoot进阶教程(八十七)数据压缩

最近在使用Redis的时候,经常遇到一些不常用的大key,对存储有一些负担。就想着把大key压缩一下。压缩可以分很多种,比如拆分JSON字符串​, ​​压缩JSON字符串​,优化JSON体积​,流式处理大型JSON​和分段存储。v…

做美图网站有哪些东西新开传奇网站大全

原文链接&#xff1a;http://www.cnblogs.com/MOBIN/p/5351900.html----------------------------------------------摘要&#xff1a;通过隐式转换&#xff0c;程序员可以在编写Scala程序时故意漏掉一些信息&#xff0c;让编译器去尝试在编译期间自动推导出这些信息来&#xf…

app开发 上传wordpressseo站外推广

日志系统的功能也就是将一条消息格式化后写入到指定位置&#xff0c;这个指定位置一般是文件&#xff0c;显示器&#xff0c;支持拓展到数据库和服务器&#xff0c;后面我们就知道如何实现拓展的了&#xff0c;支持不同的写入方式(同步异步)&#xff0c;同步:业务线程自己写到文…

网站开发后台指什么网站查询器

技术驱动下&#xff0c;现代企业快速发展&#xff0c;产生海量的数据。被称为基础软件三驾马车之一的数据库&#xff0c;一直处于 IT 系统的核心地位&#xff0c;并在技术发展中不断变化。基础数据是“十四五”的重点关注方向&#xff0c;中国数据库正在快速发展崛起&#xff0…

塑料回收技术创新与可持续发展

本文探讨了通过分子级塑料重构和新型化学回收技术实现塑料全生命周期净零碳排放的创新方法,重点介绍了可降解材料开发和混合塑料废物高效处理技术。某中心与能源部门合作推动塑料回收技术革新 某中心加入了美国能源部…

共享掩码:TFHE在打包消息上的自举技术

本文探讨了基于矩阵LWE假设的全同态加密方案,通过引入共享掩码密文格式显著降低密文扩展。研究展示了如何将TFHE类操作扩展到该格式,在布尔场景下打包8条消息可实现51%的性能提升,同时支持在单个密文中应用不同查找…

网站开发任务分解临沂seo公司稳健火星

1. 安装是成功的&#xff0c;但是安装位置&#xff0c;就是用来存放petalinux的文件夹里没有文件 我是照着正点的文档安装的&#xff0c;出现的一个问题就是最后执行文件这里&#xff1a; -d 后面这个文件夹的路径&#xff0c;我看网上的教程也都是跟文档一致的 /opt/pkg/peta…

详细介绍:[论文阅读] (38)基于大模型的威胁情报分析与知识图谱构建论文总结(读书笔记)

详细介绍:[论文阅读] (38)基于大模型的威胁情报分析与知识图谱构建论文总结(读书笔记)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !importan…

手机搭建免费网站wordpress 模拟登陆

01背包 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i件物品的体积是 vi&#xff0c;价值是 wi。 求解将哪些物品装入背包&#xff0c;可使这些物品的总体积不超过背包容量&#xff0c;且总价值最大。 输出最大价值。 输入格式 第一行两个整数&#xff0c;N…

观澜网站制作做户外的网站

在上一节我们看到了&#xff0c;多人在同一个分支上协作时&#xff0c;很容易出现冲突。即使没有冲突&#xff0c;后push的童鞋不得不先pull&#xff0c;在本地合并&#xff0c;然后才能push成功。 每次合并再push后&#xff0c;分支变成了这样&#xff1a; $ git log --grap…

永康网站建设zjyuxunWordPress推荐版本

密封类和密封成员需要使用 sealed 修饰符&#xff0c;他可以防止当前类被继承或者防止派生类在继承的过程中重写某个方法。 与abstract抽象修饰符类似&#xff0c;sealed 修饰符不仅可用来修饰class&#xff0c;同样也可以修饰类成员。如果sealed关键词用在class上&#xff0c…

免费linux网站空间学做凉菜冷菜的网站

LLaVA&#xff1a;GPT-4V(ision) 的新开源替代品。 LLaVA &#xff08;https://llava-vl.github.io/&#xff0c;是 Large Language 和Visual A ssistant的缩写&#xff09;。它是一种很有前景的开源生成式 AI 模型&#xff0c;它复制了 OpenAI GPT-4 在与图像对话方面的一些功…

果女做拍的视频网站wordpress单页主题汉化

在人工智能的浩瀚宇宙中&#xff0c;自然语言处理&#xff08;NLP&#xff09;一直是一个充满挑战和机遇的领域。随着技术的发展&#xff0c;我们见证了从传统规则到统计机器学习&#xff0c;再到深度学习和预训练模型的演进。如今&#xff0c;我们站在了大型语言模型&#xff…

打印

View Post打印第一步:权限申请 在module.json5中进行如下配置; "requestPermissions": [{"name": "ohos.permission.PRINT","reason": "$string:permissionsReason&qu…

实用指南:Cursor 工具项目构建指南: Web Vue-Element UI 环境下的 Prompt Rules 约束(new Vue 方式)

实用指南:Cursor 工具项目构建指南: Web Vue-Element UI 环境下的 Prompt Rules 约束(new Vue 方式)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: b…

完整教程:vue2 项目中 npm run dev 运行98% after emitting CopyPlugin 卡死

完整教程:vue2 项目中 npm run dev 运行98% after emitting CopyPlugin 卡死2025-10-08 19:08 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-…

利用虚拟主机建设企业网站上海si设计公司

最近做用Ajax.AjaxMethod方法的时候&#xff0c;在asp.net的服务器下一切正常&#xff0c;用iis的时候&#xff0c;js中总是cs类找不到&#xff0c;我就郁闷了&#xff0c;折腾了大半天&#xff0c;终于找到错误原因了。因为我发布网站用的是iis7&#xff0c;所以在web.config位…

网站开发的英文书有什么软件安卓应用市场免费下载安装

实体 实体是具有唯一标识的对象,且该标识和对象的属性值分离.即使两个实体的属性完全相同,这两个实体也相同,不能交换使用.由于实体通常对应于现实世界的概念. 是领域模型的中心,因此实体的标识非常重要. 值对象 值对象是主要由其属性值定义的对象.值对象通常不可变,即一旦创建…

广州黄埔区做网站培训机构建设官网公司地址

文章目录一、综述二、常见的回归分析三、对于相关性的理解四、一元线性回归模型五、对于回归系数的解释六、内生性七、四类线性模型回归系数的解释八、对于定性变量的处理——虚拟变量XXX九、下面来看一个实例十、扰动项需要满足的条件十一、异方差十二、多重共线性十三、逐步回…