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

el-tree-v2渲染树形大数据并设置默认展开

el-tree-v2无 el-tree中默认展开节点的属性,需要自行设置

default-expand-all是否默认展开所有节点

需求:首次默认展开全部节点

实现1尝试失败:增加设置了属性 :default-expand-keys="props.treeData.map(item=item.id)"无效,但是静态数据:default-expand-keys="[1]"指定id就可以展开,原因应该是数据视图更新导致,但是未找到好的解决方法。

如下实现:

1-设置了firstExpand为首次加载标志

2-判断为第一次加载,是就setExpandedKeys设置默认展开

<script lang="ts" setup>import {  ElTree } from "element-plus";import { ref, watch, onMounted, nextTick } from "vue";//动态设置的高度const { tableBox, tableHeight } = useDynamicTableHeight();const defaultProps = {children: 'peopleData',value: 'id'}// 传给父组件点击事件const emits = defineEmits(['clickMapTerminal']);// 点击const onClickMapTerminal = (data) => {}const props = defineProps({treeData: {type: Array,default: () => {return []}}})const treeRef = ref < InstanceType < typeof ElTree >> ();//第一次加载标记const firstExpand = ref < boolean > (true);//监听第一次加载就默认展开全部节点watch(() => props.terminalData, () => {if (!firstExpand.value) return;setExpandedKeys();firstExpand.value = false;}, { deep: true })//默认全部展开——设置当前展开的节点const setExpandedKeys = () => {const allChooseIds = props.treeData.map(item => item.id) || [];treeRef.value?.setExpandedKeys(allChooseIds);}
</script><template><div id="list" class="overflow-y-auto h-full"><el-scrollbar class="w-full flex-1 h-full border-[1px] grow border-[#F0F0F0]" ref="tableBox"><el-tree-v2 ref="treeRef" :height="tableHeight" :data="props.treeData" :props="defaultProps" node-key="id" :expand-on-click-node="true" :item-size="45" default-expand-all @node-click="onClickMapTerminal"><template #default="{ node, data }"></template></el-tree-v2></el-scrollbar></div>
</template>
http://www.lryc.cn/news/331359.html

相关文章:

  • 损失函数篇 | YOLOv8更换损失函数之MPDIoU(23年7月首发论文)
  • 【力扣】200.岛屿数量(染色法DFS深搜)
  • 达梦配置ODBC连接
  • 独孤思维:高客单价项目,必须来一个
  • 学习java第三十二天
  • 力扣150. 逆波兰表达式求值
  • hololens 2 投屏 报错
  • 初次在 GitHub 建立仓库以及公开代码的流程 - 公开代码
  • 论文笔记 - :MonoLSS: Learnable Sample Selection For Monocular 3D Detection
  • LVS、HAProxy
  • 开发环境->生产环境
  • 基于AI智能识别技术的智慧展览馆视频监管方案设计
  • Leetcode-894-所有可能的真二叉树-c++
  • Django DRF视图
  • SQLite全文搜索引擎:实现原理、应用实践和版本差异
  • day17-二叉树part04
  • 书生浦语第一次课
  • UE小:UE5.3无法创建C++工程
  • FFmpeg获取视频详情
  • find: paths must precede expression
  • RabbitMQ3.x之九_Docker中安装RabbitMQ
  • vue快速入门(四)v-html
  • 第19次修改了可删除可持久保存的前端html备忘录:换了一个特别的倒计时时钟
  • C++ 2024-4-1 作业
  • 【滑动窗口】Leetcode 串联所有单词的子串
  • golang channel实践代码及注意事项
  • 面试题:RabbitMQ 消息队列中间件
  • wpf中引用自定义字体
  • 高效准确!指甲剪盖片视觉检测技术解密
  • 分布式IO模块PLC扩展模拟量模块