el-tree动态设置是否全部展开属性,值已经改变,但是没有展开或折叠

项目场景:使用el-tree组件,搜索后动态设置数据全部展示


问题描述

el-tree动态设置是否全部展开属性,值已经改变,但是没有展开

c 复制代码
   <el-select
              v-model="TableName"
              placeholder="请选择"
            >
              <el-input placeholder="请输入关键词" v-model="inputValue" maxlength="40">
                <i slot="suffix" class="el-input__icon el-icon-search" @click="getTreeData"></i>
              </el-input>
              <el-option :value="TableName" style="height: 200px; overflow-y: auto">
                <el-tree
                  v-loading="loading"
                  :data="treeData"
                  :index="index"
                  :props="defaultProps"
                  :default-expand-all="expandAll"
                  node-key="puid"
                  highlight-current
                  @node-click="
                    (data, node, item) =>
                      handleNodeClick(data, node, item, index, 'tableName')
                  "
                />
              </el-option>
            </el-select>

expandAll动态设置值为true false,值已经改变,树节点却没有展开

原因分析:

default-expand-all属性在第一次渲染时才生效,动态改变后,树早已渲染出来,所以需要等数据出来后重新渲染


解决方案:

css 复制代码
加个  v-if="refreshTree"
 <el-tree ref="tree"
                  v-loading="loading"
                  :data="treeData"
                  :index="index"
                  :props="defaultProps"
                  :default-expand-all="expandAll"
                  node-key="puid"
                  highlight-current
                  v-if="refreshTree"
                  @node-click="
                    (data, node, item) =>
                      handleNodeClick(data, node, item, index, 'tableName')
                  "
                />


父组件请求接口后处理
                 this.$refs.tree.refreshTree = false;
            this.$refs.tree.expandAll = inputValue ? true : false;//这里我是根据输入框是否有值判断是否是搜索后,大家可以酌情处理
            this.$refs.tree.$nextTick(() => {
              this.$refs.tree.refreshTree = true;
            });
相关推荐
HelloReader8 分钟前
Qt Quick Controls 全览控件、弹窗、导航与样式定制(十一)
前端
意法半导体STM3212 分钟前
【官方原创】STM32 USBx Host HID standardalone移植示例 LAT1449
开发语言·前端·stm32·单片机·嵌入式硬件
竹林81813 分钟前
用wagmi v2构建DeFi前端:从连接钱包到读取合约数据的完整实战与避坑指南
前端·javascript
over69713 分钟前
面试官视角:TypeScript Pick 工具类型深度解析与手写实现
前端·面试
木斯佳15 分钟前
前端八股文面经大全:字节AIDP前端一面(2026-04-13)·面经深度解析
前端·音视频·webrtc·断点续传
Kinghiee18 分钟前
从零打造生产级前端错误监控 SDK:架构设计与 Vue3 实践
前端·javascript·vue.js·去重·错误捕获·上报·离线持久化
小凡同志22 分钟前
OpenSpec 手把手实战:从零跑通一个完整功能
前端·ai编程·claude
吴声子夜歌26 分钟前
Vue3——元素样式绑定
前端·javascript·vue.js·es6
San30.29 分钟前
前端进阶:从浏览器渲染原理到网络请求全链路解析
前端·网络·网络请求·浏览器渲染机制
落魄江湖行29 分钟前
基础篇八 Nuxt4 中间件进阶:请求拦截与权限校验
前端·typescript·nuxt4