ElementUI或AntDesign拿不到对话框内元素的 ref或者dom

devtools/2024/9/23 0:15:46/

https://www.cnblogs.com/trampeagle/p/15146668.html

element-UI 组件 dialog 中 ref 获取不到的问题解决方案_el-dialog ref获取不到-CSDN博客

在使用Vue.js结合ElementUI或Ant Design Vue这类UI框架时,有时会遇到无法直接通过ref获取到对话框(Dialog)内元素DOM的问题。这主要是因为Vue的异步更新机制和组件的挂载(mount)时机。当对话框是条件渲染(如使用v-if)时,它可能在Vue的DOM更新周期中尚未挂载或完全渲染,因此无法立即通过ref访问其内部元素。

1.nextTick

Javascript事件循环应用—nextTick()详解_js nexttick-CSDN博客

this.$nextTick() 是 Vue.js 中的一个实例方法,它非常有用,尤其是在处理 DOM 更新和依赖 DOM 的操作时。这个方法允许你在 Vue 完成 DOM 更新后立即执行某个回调函数。这对于确保你的 DOM 查询或操作是在 Vue 的异步更新队列之后执行的非常关键。

this.$refs.myDialog.open(); // 假设这是打开对话框的方法  
this.$nextTick(() => {  // 现在对话框已经打开并渲染完成,可以安全地访问其内部元素  console.log(this.$refs.someInnerElement); // someInnerElement是对话框内元素的ref  
});

2.对话框身上方法getContainer()【Ant】

  <!--a-modal ref拿不到的解决方法--><a-modal :visible="vis" @ok="handleOk"  @cancel="handleCancel"  :getContainer="() => $refs.dialogContainer"><div class="head" style="text-align: center"><h1>{{ diaOption.name }}</h1></div><div class="infos">
<!--       <div class="info-item">设备状态:<span><img src="" alt=""></span></div>--><div class="info-item"><b>所属区域:</b><span>{{ diaOption.location }}</span></div><div class="info-item"><b> {{diaOption.currentName }}:</b> <span>{{ diaOption.currentValue }}</span></div><div class="info-item"><b>布设时间:</b><span>2024年7月1日</span></div></div>
<!--      <br>--><div class="chart-title"><b>{{ diaOption.chartTitle }}:</b></div><div id="chart" ref="chart"style="width: 440px;height: 260px; margin: 0 auto; background-color: #1e1f22"></div></a-modal>

3. 监听对话框的open事件(Element)

对于某些UI框架(如ElementUI),对话框组件可能提供了openvisible-change等事件。你可以在这些事件的回调函数中访问DOM元素。

<el-dialog @open="handleOpen" ref="myDialog">  <div ref="someInnerElement">这是对话框内的元素</div>  
</el-dialog>
-----------------------------------------------------
//javascriptmethods: {  handleOpen() {  this.$nextTick(() => {  console.log(this.$refs.someInnerElement);  });  }  
}


http://www.ppmy.cn/devtools/100168.html

相关文章

【力扣】地下城游戏

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 ​ 恶魔们抓住了公…

浅谈【数据结构】树与二叉树二

目录 1、二叉排序树 1.1二叉树排序树插入 1.1.1两种插入方法 1.1.2循环法 1.1.3递归法 1.2二叉树的打印 1.3二叉树的结点删除 1.4销毁二叉树 1.5层次打印 谢谢帅气美丽且优秀的你看完我的文章还要点赞、收藏加关注 没错&#xff0c;说的就是你&#xff0c;不用再怀疑&…

SSD Fresh:固态硬盘优化专家

在追求高性能计算体验的今天&#xff0c;固态硬盘&#xff08;SSD&#xff09;已成为提升系统响应速度的关键组件。然而&#xff0c;如何有效延长SSD的使用寿命&#xff0c;同时保持其最佳性能&#xff0c;是许多技术爱好者和专业人士面临的问题。今天&#xff0c;电脑天空为大…

Postman之Newman命令以及常用参数

Newman介绍 Postman是专为接口测试而生&#xff0c;而Newman是专为Postman而生。因为服务器一般都是Linux系统&#xff0c;而前文提到的操作都离不开Postman的客户端&#xff0c;为解决这个问题&#xff0c;谷歌公司引入了 Newman工具。Newman是Postman的命令行&#xff0c;是…

129页《战略推演:获取竞争优势的思维与方法》

知识星球APP搜索【战略咨询文库】&#xff0c;下载700多份资料 一、战略思维 差异化战略 产品或服务差异化&#xff1a;通过提供独特的产品特性、功能、设计或品质&#xff0c;满足特定客户群体的需求&#xff0c;从而与竞争对手区分开来。例如&#xff0c;苹果公司以其创新…

暑期算法训练

目录 A.糖果&#xff08;Candy) B.小红的数组重排 C.牛牛与LCM D.子串 E.勤奋的杨老师 F.清楚姐姐跳格子 G.方块 I H.PUBG A.糖果&#xff08;Candy) 思路 &#xff1a;贪心&#xff0c;为了使操作数最少&#xff0c;我们要尽可能的先吃第二个盒子里的糖果&#x…

初识redis:Zset有序集合

Set作为集合&#xff0c;有两个特点&#xff1a;唯一且无序。 Zset是有序集合&#xff0c;在保证唯一的情况下&#xff0c;是根据什么来排序的呢&#xff1f;排序的规则是什么&#xff1f; Zset中的member引入了一个属性&#xff0c;分数&#xff08;score&#xff09;&#…

Python实现贪心算法

目录 贪心算法简介贪心算法的基本思想贪心算法的应用场景活动选择问题 Python实现活动选择问题代码解释活动选择问题的解贪心算法的正确性分析贪心算法的其他应用贪心算法的局限性贪心算法的优化与变种总结 贪心算法简介 贪心算法&#xff08;Greedy Algorithm&#xff09;是一…