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

draggable的el-dialog实现对话框标题可以选择

请看图
在这里插入图片描述
这个对话框使用了el-dialog并且draggable属性设置成了true,所以标题栏这里就可以拖动,现在用户想选中标题栏的文本进而复制。我看到这个需求头都大了。
我能想到的方案有三个:1. 取消draggable为true 2. 标题文案后面加一个复制按钮 3. 标题栏中文案那块区域不触发移动操作

最终我选择了第3个,也是最难的。
首先我要知道el-dialog怎么实现拖拽功能,那就去源码里找了呗。
在这里插入图片描述
最终找到了这里,我只需要给标题中文本这个dom添加一个mousedown事件,让其阻止事件向上传播就可以了,说干就干。
给el-dialog添加一个ref,如下

<el-dialog ref="dialogRef"></el-dialog>

然后使用dialogRef找到标题文本对应的dom
在这里插入图片描述
dialogRef.value.$el.querySelector(‘.el-dialog__title’)

可惜失败了,dialogRef.value.$el竟然是一个注释,我的天塌了:(
在这里插入图片描述
然后又尝试使用dialogRef访问组件树,均以失败告终,真是头大呀!!!

就在我放弃的时候,我的小脑袋瓜突然开窍了,不能从上到下,我就从下到上。我在el-dialog中找到一个节点,给它加上ref,然后通过它向上找到el-dialog的dom,再往下找el-dialog__title
在这里插入图片描述
在这里插入图片描述
最后再改一下样式
在这里插入图片描述
打完收工:)

如果对你有帮助,请帮忙点赞哦,嘻嘻:)

http://www.lryc.cn/news/490939.html

相关文章:

  • 2024年Android面试总结
  • 树莓派3:64位系统串口(UART)使用问题的解决方法
  • SemiDrive E3 硬件设计系列---唤醒电路设计
  • 淘宝接口高并发采集核心要点解读,开启电商数据智能应用新纪元
  • C#里怎么样快速使用LINQ实现查询?
  • 2024新版微软edge浏览器输入百度网址时自动补全tn=68018901……小尾巴的解决
  • uni-app打包H5自定义微信分享
  • 大模型专栏--大模型应用场景
  • 骑砍2霸主MOD开发(29)-顶点动画
  • -Dspring.profiles.active=dev与--spring.profiles.active=dev的区别
  • 面向对象高级(2)单例设计对象与代码块
  • 47小型项目的规划与实施
  • 堤防安全监测系统方案
  • 聊聊Flink:这次把Flink的window分类(滚动、滑动、会话、全局)、窗口函数讲透
  • mysql-分析MVCC原理
  • 由于答案过大,请对a取模。取模后的答案不是原问题的答案 取模有何意义呢 详解
  • 【c++篇】掌握动态内存的奥妙
  • 5.4.2-3 编写Java程序读取HDFS文件
  • @EnableConfigurationProperties @ConfigurationProperties
  • RK3588适配MTK7921 USB接口WiFi驱动开发
  • 【数据结构OJ】【图论】图综合练习--拓扑排序
  • 模型 I/O 与 LangChain 实践
  • C++:用红黑树封装map与set-1
  • HBU算法设计与分析 贪心算法
  • python pycharm安装教程及基本使用,超详细
  • 变量提升函数提升
  • el-table vue3统计计算数字
  • IDE应当具备的功能
  • Stable Diffusion初步见解(二)
  • 前端框架 react 性能优化