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
相关推荐
杨艺韬3 小时前
vite内核解析-第2章 架构总览
前端·vite
我是伪码农3 小时前
外卖餐具智能推荐
linux·服务器·前端
2401_885885044 小时前
营销推广短信接口集成:结合营销策略实现的API接口动态变量填充方案
前端·python
小李子呢02114 小时前
前端八股性能优化(2)---回流(重排)和重绘
前端·javascript
程序员buddha4 小时前
深入理解ES6 Promise
前端·ecmascript·es6
吴声子夜歌4 小时前
ES6——Module详解
前端·ecmascript·es6
剪刀石头布啊5 小时前
原生form发起表单干了啥
前端
剪刀石头布啊5 小时前
表单校验场景,如何实现页面滚动到报错位置
前端
gyx_这个杀手不太冷静5 小时前
大人工智能时代下前端界面全新开发模式的思考(二)
前端·架构·ai编程
GreenTea5 小时前
AI Agent 评测的下半场:从方法论到落地实践
前端·人工智能·后端