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
相关推荐
三声三视12 小时前
React 18 并发渲染实战:useTransition、Suspense 与自动批处理深度解析
前端·javascript·react.js
xiaotao13112 小时前
第十八章:微前端与 Module Federation
前端·vite·前端打包
不会写DN12 小时前
从零打造一个丝滑的 Vue 3 返回顶部组件
前端·javascript·vue.js
架构师老Y12 小时前
010:API网关调试手记:路由、认证与限流的那些坑
开发语言·前端·python
前端老石人12 小时前
无障碍访问
开发语言·前端·html
黑金IT12 小时前
AI带‘脑’摒弃前端硬编码实现浏览器自动化系统
前端·人工智能·自动化
榴莲omega13 小时前
第13天:CSS(二)| Grid 布局完全指南
前端·css·js八股
牧杉-惊蛰13 小时前
修改表格选中时的背景色与鼠标滑过时的背景色
前端·javascript·css·vue.js·elementui·html
彧翎Pro13 小时前
前端状态管理进化史:从Redux到Zustand的范式转变
前端·javascript
bjzhang7513 小时前
使用 HTML + JavaScript 实现表格滚动效果
前端·javascript·html·表格滚动效果