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

element-plus:el-tree ref初始化异常记录

文章目录

  • 描述
  • 问题
  • 解决

记录一个tsx 下el-tree的小问题

描述

在这里插入图片描述
在这里插入图片描述

  <Dialog v-model="showEdit" ref="EditWin" :title="t('button.edit')" width="900" :maxHeight="650"><el-form :model="nowdata" class="dialog"><el-form-item:label="t('col.Name_cn')":label-width="formLabelWidth"v-show="nowLocale != 'en' || isadd"><el-form-item :label="t('col.Permission')" :label-width="formLabelWidth"><!-- 权限设置 --><div class="custom-tree-node-container"><el-treeref="MenuRef"style="max-width: 600px":data="MenuData"show-checkboxnode-key="id"default-expand-all:expand-on-click-node="false":props="{class: customNodeClass,label: nowLocale == 'en' ? 'name_en' : 'name_cn'}"@node-click="nodeClick"/></div></el-form-item></el-form><template #footer><div class="dialog-footer"><el-button @click="showEdit = false">{{ t('button.cancel') }}</el-button><el-button type="primary" @click="doitemEdit()"> {{ t('button.ok') }} </el-button></div></template></Dialog>
MenuData:
[{"id":1,"parentid":0,"name_cn":"首页目录","name_en":"Home"},{...}]

点击编辑后 一个弹窗内设置菜单权限,那么问题往往是 控件的赋值取值。
即 RootItem 的 menuids 字段

[{"id":4,"name_cn":"游客","name_en":"Guest","menuIds":"17,18"},{...}]

问题

取值(没有问题)
const MenuRef = ref()
const Submit=()={nowdata.value.menuIds = MenuRef.value.getCheckedKeys(true, true).toString()}
赋值(点击编辑 打开弹窗 无法赋值给tree)
const doEdit = (index: number, role: RoleItem) => {MenuRef.value.setCheckedKeys(role.menuIds.split(','))
}

当然 setCheckedKeys、getCheckedKeys都是可以在文档里找到的
文档 https://element-plus.org/zh-CN/component/tree.html

解决

const doEdit = async (index: number, row: RoleItem) => {await nextTick()MenuRef.value.setCheckedKeys(row.menuIds.split(','))
}

简单的说,加了个异步状态,解决了。
虽然我设置settimeout 延迟两秒 也是没解决的,可能是因为我的tree在Dialog里的原因
真的是有点奇特的问题。

http://www.dtcms.com/a/336854.html

相关文章:

  • 【前端面试题】JavaScript 核心知识点解析(第一题到第三十题)
  • MQTT(轻量级消息中间件)基本使用指南
  • 套接字超时控制与服务器调度策略
  • JavaScript基础语法three
  • 时序数据库 Apache IoTDB:从边缘到云端Apache IoTDB 全链路数据管理能力、部署流程与安全特性解读
  • UTMatrix VS VideoLingo 到底哪个好?
  • 在openEuler系统中如何查看文件夹下每个文件的大小
  • 从零到GPT:Transformer如何引领大模型时代
  • 基于C语言实现的HRV分析方法 —— 与Kubios和MATLAB对比
  • 力扣70:爬楼梯
  • Java基础(九):Object核心类深度剖析
  • 【Linux指南】gcc/g++编译器:从源码到可执行文件的全流程解析
  • DELL服务器 R系列 IPMI的配置
  • Linux 编译器 gcc 与 g++
  • Linux磁盘阵列
  • 开源Verilog仿真即波形模拟工具iVerilog初步教程
  • 香港数据合集:建筑物、手机基站、POI、职住数据、用地类型
  • Java 中表示数据集的常用集合类
  • 【快速解决】Redis配置问题以及解决方法
  • 世界模型之自动驾驶
  • 实战架构思考及实战问题:Docker+‌Jenkins 自动化部署
  • 基于Android的随身小管家APP的设计与实现/基于SSM框架的财务管理系统/android Studio/java/原生开发
  • Rust 教程之简介000
  • 【网络安全实验报告】实验六: 病毒防护实验
  • Rust 异步中的 Waker
  • reGeorg、dnscat2--安装、使用
  • moe并行
  • 【Linux系统】进程间通信:System V IPC——消息队列和信号量
  • 灯哥FOC笔记(3) --FOC开环程序原理
  • 轨迹优化 | 基于边界值问题(BVP)的无约束路径平滑(附ROS C++/Python仿真)