antd modal 拖动_Ant-design Modal实现可以拖动的效果

本文介绍了如何基于 Ant Design Modal 自行封装一个可拖动的 AntDraggableModal 组件,详细阐述了其实现原理和关键代码,包括监听鼠标事件来调整 Modal 位置,并提供了多层弹窗拖拽的支持。
摘要由CSDN通过智能技术生成

最近项目组在开发的时候提出了一个需求,需要让 ant-design Modal实现能够拖动的功能,研究了一番,基于 and-design Modal自己封装了一个antd-draggable-modal组件。

336b28f8888c43193a9dd0a54881d4a1.gif

特性:

支持弹出窗居中打开

支持拖拽 title bar 实现拖拽

支持多层弹窗拖拽

实现原理

要实现 Modal 的拖拽,首先要弄清楚 Modal 的位置跟什么有关系,打开浏览器,通过F12 调试窗口可以看到,Modal 的位置跟 class 属性为 ant-modal-content 的元素有关。

9e9eca64c8617dd3962f721e16ce3b5d.png

因此接下来的思路就很简单了,通过监听鼠标事件来设置 ant-modal-content 元素的 transform 属性来实现 Modal 位置的调整。

代码如下:

import React, { Component, MouseEvent } from 'react';

import AntdModal, { ModalProps } from 'antd/lib/modal';

import 'antd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值