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
相关推荐
克喵的水银蛇2 分钟前
Flutter 通用网络图片封装实战:带占位 / 错误 / 缓存的 CachedImageWidget
开发语言·前端·javascript
kong@react4 分钟前
springbpoot项目,富文本,xss脚本攻击防护,jsoup
java·前端·spring boot·xss
涵涵(互关)6 分钟前
后端返回的id到前端接收时,id改变了
前端·状态模式
码上成长8 分钟前
从零实现:react&Ts--批量导入 & Excel 模版下载功能
javascript·react.js·excel
拾忆,想起10 分钟前
Dubbo灰度发布完全指南:从精准引流到全链路灰度
前端·微服务·架构·dubbo·safari
liudongyang12312 分钟前
EasyExcel使用模版填充的方式,导致单元格边框消失
前端·html
2503_928411562 小时前
12.4 axios的二次封装-深拷贝
前端·javascript·vue.js
你真的可爱呀5 小时前
uniapp+vue3项目中的常见报错情况以及解决方法
前端·vue.js·uni-app
差点GDP9 小时前
模拟请求测试 Fake Rest API Test
前端·网络·json
酒尘&10 小时前
Hook学习-上篇
前端·学习·react.js·前端框架·react