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
相关推荐
学习使我健康13 小时前
Android 事件分发机制
android·java·前端
众少成多积小致巨13 小时前
libbinder_ndk 入门指南
前端·c++·架构
小李子呢021113 小时前
前端八股Vue---自定义组件(控件)
前端·javascript·vue.js
用户527096487449013 小时前
微前端(qiankun)单侧启动调试技巧
前端
于慨13 小时前
flutter基础组件用法
开发语言·javascript·flutter
斌味代码13 小时前
jQuery 内存泄漏排查:常见场景、工具使用与修复实战
前端·javascript·jquery
weixin1997010801614 小时前
《爱回收商品详情页前端性能优化实战》
前端·性能优化
chenbin___14 小时前
鸿蒙(HarmonyOS)支持 useNativeDriver的详细说明(转自千问)
前端·javascript·react native·react.js·harmonyos
We་ct14 小时前
Git 核心知识点全解析
开发语言·前端·git·gitee·github
iDao技术魔方14 小时前
Bun v1.3.12 深度解析:新特性、性能优化与实战指南
开发语言·javascript·visual studio code