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
相关推荐
吃一根烤肠几秒前
使用ChatGPT Copilot加速Python调试:实战指南
前端·ui·html
Embrace9246 分钟前
钉钉工作台内嵌应用=》调用钉钉对话框
前端·javascript·钉钉
蜡台10 分钟前
Vue2 elementui2 中 el-switch 实现先判断改变状态
前端·vue.js·elementui·el-switch
whuhewei10 分钟前
CSS动画倍速播放
前端·css
周不凢13 分钟前
elementui 表格行选择:通过 toggleRowSelection 方法控制表格行的选中状态
前端·javascript·elementui
黄林晴15 分钟前
Swift 杀进 Android,Google 和 Apple 都要失眠了?
android·前端·swift
一晌小贪欢18 分钟前
Web 自动化指南:如何用 Python 和 Selenium 解放双手
开发语言·前端·图像处理·python·自动化·python办公
云浪18 分钟前
认识 Service Worker
前端·javascript
方也_arkling21 分钟前
【Vue-Day11】props的使用
前端·javascript·vue.js
心之语歌23 分钟前
前端刷新处理数据的几种方式
前端