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
相关推荐
孟祥_成都16 小时前
打包票!前端和小白一定明白的人工智能基础概念!
前端·人工智能
小满zs17 小时前
Next.js第六章(平行路由)
前端
孤狼warrior17 小时前
公司信息建设库数据 使用调用堆栈的JS逆向爬虫
javascript·爬虫
小满zs17 小时前
Next.js第七章(路由组)
前端
Mountain and sea17 小时前
发那科机器人指令详解:从入门到精通
前端·机器人
泯泷17 小时前
Tiptap 深度教程(四):终极定制 - 从零创建你的专属扩展
前端·javascript·架构
局i17 小时前
vue简介
前端·javascript·vue.js
yqcoder18 小时前
vue2 和 vue3 中,列表中的 key 值作用
前端·javascript·vue.js
U***498318 小时前
前端TypeScript教程汇总,从基础到高级
前端·javascript·typescript
梵得儿SHI18 小时前
Vue 指令系统:事件处理与表单绑定全解析,从入门到精通
前端·javascript·vue.js·v-model·v-on·表单数据绑定·表单双向绑定