el-dialog拖拽 + 全屏 完整方案
el-dialog拖拽 + 全屏 完整方案一、最终效果✅ 鼠标拖动 header 移动 Dialog✅ 右上角「全屏 / 还原」按钮✅ 全屏时自动禁用拖拽(体验更好)✅ 不破坏 Element UI 原有 API二、拖拽指令(核心)📁 src/directives/dialog-drag.jsexport default { inserted(el) { const dialogHeader = el.querySelector('.el-dialog__header') const dialog = el.querySelector('.el-dialog') if (!dialogHeader || !dialog) return dialog.style.position = 'absolute' dialogHeader.style.cursor = 'move' let startX, startY, left, top const down = (e) = { startX = e.clientX startY = e.clientY left = dialog.offsetLeft top = dialog.offsetTop document.addEventListener('mousemove', move) document.addEventListener('mouseup', up)