antd Drawer 实现宽度拖拽

ts 复制代码
import react from 'react '
const App = () => {
  const onmousedown = () => {
    let isDown = false
    isDown = true
    window.onmouseup = () => {
      isDown = false

      window.onmousemove = null
    }
    window.onmousemove = (e: any) => {
      if (isDown === false) {
        return
      }
      ;(document && document.getElementById('line')?.style?.left) ?? '0px'

      const d: any = document.getElementsByClassName('ant-drawer-content-wrapper')[0]
      const handle = document.body.clientWidth - e.clientX
      if (handle > document.body.clientWidth) {
        d.style.width = document.body.clientWidth + 'px'
        return
      }
      d.style.width = handle + 'px'
    }
  }
  return (
    <Drawer title="查看详情" open={open} placement="right" onClose={onClose} width="800px">
      <div id="line" onMouseDown={onmousedown} className="line"></div>
      <UserMenu />
    </Drawer>
  )
}

export default APP
相关推荐
2501_941982051 分钟前
进阶指南:如何基于自动化能力进行企业通讯工具接口的二次开发
前端·机器人·自动化·企业微信·rpa
Mintopia3 分钟前
PR 才是主战场:AI 时代的 Code Review 新规则
前端·人工智能
海上彼尚3 分钟前
Nuxt4 官网访问来源统计的实现
开发语言·前端·javascript
方安乐5 分钟前
umi VS vite
前端
三*一5 分钟前
mapbox 基于 Turf.js 实现高精度多边形分割(支持带空洞 / 坐标无损)
开发语言·前端·javascript·vue.js·mapbox gl
dy17176 分钟前
前端PDF下载、打印界面
前端·pdf
英俊潇洒美少年7 分钟前
前端常用的设计模式
前端
漂移的电子13 分钟前
【常用】element-ui/moment.js/echarts.js等
javascript·ui·echarts
Forrit19 分钟前
RAG处理PDF图片:步骤顺序与完整流程
前端·数据库·pdf
姓蔡小朋友23 分钟前
Agent Skill设计模式
开发语言·javascript·设计模式