el-drawer如何实现增加resize拖曳改变宽度大小,通过小图标进行拖拽

请先看效果图
在这里插入图片描述

我主要是通过这个按钮来进行拖拽的,记住自行添加按钮图片

第一步

新建一个myDrawerDrag.js文件

import Vue from 'vue'Vue.directive('drawerDrag', {bind(el, binding, vnode, oldVnode) {const minWidth = 400const dragDom = el.querySelector('.el-drawer')dragDom.style.overflow = 'inherit'const resizeElL = document.createElement('div')const img = new Image(24, 38)// 拖拽图标,不需要可去除img.src = require('@/assets/other/drag.png')dragDom.appendChild(img)dragDom.appendChild(resizeElL)resizeElL.style.cursor = 'w-resize'resizeElL.style.position = 'absolute'resizeElL.style.height = '38px'resizeElL.style.width = '30px'resizeElL.style.left = '-15px'resizeElL.style.top = '50%'resizeElL.userSelect = 'none'img.style.position = 'absolute'img.style.left = '-12px'img.style.top = '50%'img.style.border = '1px solid #dbdbdb'img.style.backgroundColor = '#fff'img.style.borderRadius = '4px'img.style.userSelect = 'none'resizeElL.onmousedown = (e) => {const elW = dragDom.clientWidthconst EloffsetLeft = dragDom.offsetLeftconst clientX = e.clientXdocument.onmousemove = function(e) {e.preventDefault()document.body.style.userSelect = 'none'// 左侧鼠标拖拽位置// clientX > EloffsetLeft 如果不允许点击外面的内容可以拖拽的话设置这个if (clientX < EloffsetLeft + 30) {// 往左拖拽if (clientX > e.clientX) {dragDom.style.width = elW + (clientX - e.clientX) + 'px'}// 往右拖拽if (clientX < e.clientX) {if (dragDom.clientWidth >= minWidth) {dragDom.style.width = elW - (e.clientX - clientX) + 'px'}}}}// 拉伸结束document.onmouseup = function(e) {document.onmousemove = nulldocument.onmouseup = nulldocument.body.style.userSelect = 'auto'}}}
})

第二步 引入main

import '@/utils/myDrawerDrag'  //自己的路径

第三步 在el-drawer使用

<el-drawer v-drawerDrag :visible.sync="drawerShow">
</el-drawer>

如果有用,请给我点赞收藏,我会很开心,谢谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/61546.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#窗体简单登录

创建一个Windows登录程序&#xff0c;创建两个窗体&#xff0c;一个用来登录&#xff0c;一个为欢迎窗体&#xff0c;要求输入用户名和密码&#xff08;以个人的姓名和学号分别作为用户名和密码&#xff09;&#xff0c;点击【登录】按钮登录&#xff0c;登录成功后显示欢迎窗体…

Java基础全解:构建扎实编程技能

文章目录 1. Hello World 程序深入解析&#xff1a; 2. 数据类型深入解析&#xff1a; 3. 条件判断深入解析&#xff1a; 4. 循环结构深入解析&#xff1a; 5. 数组深入解析&#xff1a; 6. 方法定义与调用深入解析&#xff1a; 1. Hello World 程序 深入解析&#xff1a; 类…

开发规范:Restful风格

REST&#xff08;REpresentational State Transfer&#xff09;&#xff0c;表述性状态转换&#xff0c;它是一种软件架构的风格。这么说可能太过于专业&#xff0c;有些难以理解&#xff0c;不妨看个案例&#xff1a; 传统风格url 假如说我们需要使用传统风格url发起请求&am…

StarRocks-同步hive数据

官方文档对csv&#xff0c;orc ,json &#xff0c;parquet都支持的比较好。写文章的时候SR我们生产用的是3.1.x版本 1、同步hive表textfile格式的数据 hive表结构 CREATE EXTERNAL TABLE ads_d_app_rank_inc(filename string COMMENT 解析的文件名称,rank string COMMENT ap…

【大数据学习 | Spark-SQL】定义UDF和DUAF,UDTF函数

1. UDF函数&#xff08;用户自定义函数&#xff09; 一般指的是用户自己定义的单行函数。一进一出&#xff0c;函数接受的是一行中的一个或者多个字段值&#xff0c;返回一个值。比如MySQL中的&#xff0c;日期相关的dateDiff函数&#xff0c;字符串相关的substring函数。 先…

详解Qt pdf 之QPdfSelection 选择文本类

文章目录 QPdfSelection 类详解前言 详细说明公共函数说明1. 构造函数2. text3. boundingRect4. isEmpty5. startPage6. endPage 使用场景示例代码代码说明总结 QPdfSelection 类详解 前言 QPdfSelection 是 Qt PDF 模块中的一个类&#xff0c;用于表示在 PDF 文档中被选中的…

记录部署dvwa靶场踩的几个坑

DVWA reCAPTCHA key: Missing 解决方法&#xff1a;网上随便copy一个&#xff0c;粘贴到config.inc.php配置文件里&#xff0c;具体我也是参考这篇文章的&#xff1a;DVWA下载、安装You dont have permission to access this resource.Server unable to read htaccess file, de…

linux——进程间通信及管道的应用场景

linux进程的控制-CSDN博客 liunx——进程间通信&#xff08;管道通信&#xff09;-CSDN博客 文章目录 文章目录 前言 二、管道的应用 1.创建子进程 1、描述&#xff1a; 2.创建进程及管理 3、子进程接受任务 4、控制子进程 总结 前言 上篇博客我们学习了进程间通信&…

开发工具WebStorm,VSCode,HbuilderX

WebStorm、VSCode 和 HBuilderX 是三款非常受欢迎的开发工具&#xff0c;各自有不同的特点和适用场景。下面我会详细比较它们的优势和劣势&#xff0c;帮助你选择最合适的开发环境。 1. WebStorm WebStorm 是由 JetBrains 开发的一款强大的 JavaScript IDE&#xff0c;专门针对…

FPGA实现串口升级及MultiBoot(十)串口升级SPI FLASH实现

本文目录索引 工程架构example9工程设计Vivado设计Vitis设计example9工程验证1、读取FLASH ID2、擦除整个FLASH3、Blank-Check4、烧写Golden区位流5、读取FLASH内容6、烧写MultiBoot区位流(升级位流)7、MultiBoot区位流(升级位流)启动example10工程设计Vivado设计Vitis设计exam…

AIGC引领金融大模型革命:未来已来

文章目录 金融大模型的应用场景1. **金融风险管理**2. **量化交易**3. **个性化投资建议**4. **金融欺诈检测和预防**5. **智能客户服务** 金融大模型开发面临的挑战应对策略《金融大模型开发基础与实践》亮点内容简介作者简介获取方式 在AIGC&#xff08;Artificial Intellige…

设计模式学习[10]---迪米特法则+外观模式

文章目录 前言1. 迪米特法则2. 外观模式2.1 原理阐述2.2 举例说明 总结 前言 之前有写到过 依赖倒置原则&#xff0c;这篇博客中涉及到的迪米特法则和外观模式更像是这个依赖倒置原则的一个拓展。 设计模式的原则嘛&#xff0c;总归还是高内聚低耦合&#xff0c;下面就来阐述…

量化交易系统开发-实时行情自动化交易-8.4.MT4/MT5平台

19年创业做过一年的量化交易但没有成功&#xff0c;作为交易系统的开发人员积累了一些经验&#xff0c;最近想重新研究交易系统&#xff0c;一边整理一边写出来一些思考供大家参考&#xff0c;也希望跟做量化的朋友有更多的交流和合作。 接下来会对于MT4/MT5平台介绍。 MetaT…

BWO-CNN-BiGRU-Attention白鲸优化算法优化卷积神经网络结合双向门控循环单元时间序列预测,含优化前后对比

BWO-CNN-BiGRU-Attention白鲸优化算法优化卷积神经网络结合双向门控循环单元时间序列预测&#xff0c;含优化前后对比 目录 BWO-CNN-BiGRU-Attention白鲸优化算法优化卷积神经网络结合双向门控循环单元时间序列预测&#xff0c;含优化前后对比预测效果基本介绍模型描述程序设计…

【Linux】死锁、读写锁、自旋锁

文章目录 1. 死锁1.1 概念1.2 死锁形成的四个必要条件1.3 避免死锁 2. 读者写者问题与读写锁2.1 读者写者问题2.2 读写锁的使用2.3 读写策略 3. 自旋锁3.1 概念3.2 原理3.3 自旋锁的使用3.4 优点与缺点 1. 死锁 1.1 概念 死锁是指在⼀组进程中的各个进程均占有不会释放的资源…

Vue3之弹窗

文章目录 第一步、引入JS第二步、弹框 在前端开发语言Vue3&#xff0c;在管理端如何进行弹窗&#xff1f;下面根据API实现效果。 Element API文档&#xff1a; Element-plus文档 搭建环境可参考博客【 初探Vue3环境搭建与nvm使用】 第一步、引入JS <script lang"ts&…

el-tree的使用及控制全选、反选、获取选中

el-tree的使用及控制全选、反选、获取选中 组件使用获取选中的id全选实现反选实现全部代码 组件使用 引入组件&#xff0c;可以参考官网组件引入参考官网示例写好基础数据结构&#xff0c;不知道怎么转换树形机构的看文章&#xff1a;一维数组转树形 <template><el-…

MySQL - 性能优化

使用 Explain 进行分析 Explain 用来分析 SELECT 查询语句&#xff0c;开发人员可以通过分析 Explain 结果来优化查询语句。 比较重要的字段有: select_type : 查询类型&#xff0c;有简单查询、联合查询、子查询等 key : 使用的索引 rows : 扫描的行数 type &#xff1a;…

2、Three.js初步认识场景Scene、相机Camera、渲染器Renderer三要素

三要素之间关系&#xff1a; 有了虚拟场景Scene&#xff0c;相机录像Camera&#xff0c;在相机小屏幕上看到的Renderer Scene当前空间 Mesh人在场景 Camera相机录像 Renderer显示器上 首先先描述下Scene&#xff1a; 这个场景为三要素之一&#xff0c;一切需要展示的东西都需…

【docker】容器卷综合讲解,以及go实现的企业案例

容器卷&#xff08;Volumes&#xff09;基础讲解&#xff1a; 容器概念 容器卷&#xff08;Volumes&#xff09;是 Docker 提供的一种持久化存储机制&#xff0c;允许容器持久化数据&#xff0c;即使容器被删除或重新创建&#xff0c;数据仍然可以保留。 卷是独立于容器的&…