首页 > TAG信息列表 > dragDom
elementui弹框拖拽和放大缩小 第二节
function setMaxMin(){ if (isFullScreen == false) { let i = maxMin.querySelector('.el-icon-full-screen'); i.classList.remove('el-icon-full-screen'); i.classList.add('faelementui弹框放大缩小和拖拽 第三节
//鼠标拉伸弹窗 resizeEl.onmousedown = (e) => { // 记录初始x位置 const clientX = e.clientX; // 鼠标按下,计算当前元素距离可视区的距离 const disX = e.clientX - resizeEl.offsetLevue dialog指令 拖拽位置及弹窗宽度拖大 拖小
utils/dialogDrag.js import Vue from 'vue' // v-dialogDrag: 弹窗拖拽 Vue.directive('dialogDrag', { bind(el, binding, vnode, oldVnode) { const dialogHeaderEl = el.querySelector('.el-dialog__header') const dragDel-dialog可拖拽
1. 先创建一个js文件 //directive.js文件 import Vue from 'vue' // v-dialogDrag: 弹窗拖拽 Vue.directive('dialogDrag', { bind(el, binding, vnode, oldVnode) { const dialogHeaderEl = el.querySelector('.el-dialog__header') const dragvue基于element的模态框放大缩小可拖动
封装的js文件 import Vue from 'vue'; import bigPic from '../assets/images/bigChange.png'; // v-dialogDrag: 弹窗拖拽属性 Vue.directive('dialogDrag', { bind(el, binding, vnode, oldVnode) { //弹框可拉伸最小宽高 let minWidth = 400; leelement-ui 弹窗实现拖拽
1、组件部分 <el-dialog v-dialogDrag ref="xhzqDialog" class="xhzqDialog" :title="title" :fullscreen="isfullscreen" :visible.sync="dialogVisible" :append-to-body="true"elementUI弹框增加拖拽功能
import Vue from 'vue' // v-dialogDrag: 弹窗拖拽自定义指令,在main.js引入,使用即可 Vue.directive('dialogDrag', { bind (el, binding, vnode, oldVnode) { const dialogHeaderEl = el.querySelector('.el-dialog__header') const dragelement ui +vue2 实现el-dialog拖动放大弹窗
element ui +vue2 实现el-dialog拖动放大弹窗 1、在libs文件夹内创建dialog.js dialog.js内容如下: import Vue from 'vue'; // v-dialogDrag: 弹窗拖拽属性 Vue.directive('dialogDrag', { bind(el, binding, vnode, oldVnode) { const dialogHeaderEl = el.querySele需求:vue项目 element 的 dialog 弹出窗口加上 最大化 还原 和自定义拖拽、拉伸弹窗
原理是 利用vue 的自定义指令功能 自定义一个指令; export default { bind(el, binding, vnode, oldVnode) { let resizeEvent = new CustomEvent('drag-resize',{detail:'尺寸变化',bubbles:false}); //初始化不最大化 el.fullscreen = false; //弹框可拉伸最vue element 的 dialog 弹出窗口加上 最大化 还原 和自定义拖拽、拉伸弹窗(分两个文件)
拖拽和拉伸:(直接在main.js引入) import Vue from 'vue' // v-dialogDrag: 弹窗拖拽属性 Vue.directive('dialogDrag', { bind (el, binding, vnode, oldVnode) { if (!binding.value) return const dialogHeaderEl = el.querySelector('.el-dialog__headel-dialog开启拖拽功能
自定义指令v-drag /** * @description 自定义指令v-drag */ Vue.directive('drag', { bind(el, binding, vNode) { if ( el.querySelector('.el-dialog__header') && el.querySelector('.el-dialog') ) { constElement dialog实现拖拽功能
1,建立directives.js文件。 import Vue from 'vue'; // v-dialogDrag: 弹窗拖拽属性 Vue.directive('drag', { bind(el, binding, vnode, oldVnode) { const dialogHeaderEl = el.querySelector('.el-dialog__header'); const dragDom = el.quvue element 实现弹窗可拖拽
一、main.js文件同级目录下新建文件directive.js (并非强制同级,只要main.js引入时路径正确即可,该项目使用的是js,不是ts;如果使用ts的需自行修改ts校验) 1 //directive.js文件 2 3 import Vue from 'vue' 4 5 // v-dialogDrag: 弹窗拖拽 6 Vue.directive('dialogDrag', { 7使dialog可拖拽指令
在项目开发过程中,需要支持dialog弹窗可拖拽,则需要对dialog添加指令。具体操作说明如下: (1)在用于存放指令的文件夹内,新建拖拽指令文件夹,例如命名为:el-dragDialog,如下所示: el-dragDialog/index.js文件代码,如下示: 1 import drag from './drag' 2 3 const install = functiovue dialog。可拖拽,可全屏,可缩小。
基于el-dialog, 封装了一下。,实在懒得写,所以直接把代码 粘出来了 大概粘了一下效果。自己体会把。 组件使用 <el-dialog v-dialogDrag ref="xhzqDialog" class="xhzqDialog" :title="title" :fullscreen="isfullscreen" :visible.sync="d