el-dialog拖拽 + 全屏 完整方案
2026/6/12 20:39:11 网站建设 项目流程

el-dialog拖拽 + 全屏 完整方案
一、最终效果
✅ 鼠标拖动 header 移动 Dialog
✅ 右上角「全屏 / 还原」按钮
✅ 全屏时自动禁用拖拽(体验更好)
✅ 不破坏 Element UI 原有 API
二、拖拽指令(核心)
📁 src/directives/dialog-drag.js
export 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)<

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询