当前位置:   article > 正文

el-drawer宽度课拉伸_el-drawer__wrapper

el-drawer__wrapper

在使用el-drawer过程中我们想要对抽屉进行拉伸, 方便实现产品经理的需求, 可以写一个自定义命令嵌入到vue指令中, 可以全局引用也可以按需引用.

js代码 (前提是引入了vue)

  1. Vue.directive('drawerDrag', {
  2. bind(el, binding, vnode, oldVnode) {
  3. const minWidth = 300
  4. const dragDom = el.querySelector('.el-drawer')
  5. // const dragDom1 = el.querySelector('.el-drawer__container')
  6. // const dragDom2 = el.querySelector('.el-drawer__wrapper')
  7. // dragDom.style.overflow = 'auto'
  8. const resizeElL = document.createElement('div')
  9. const img = new Image(24, 38)
  10. // img.src = require('@/assets/img/apk.png')
  11. // dragDom.appendChild(img)
  12. dragDom.appendChild(resizeElL)
  13. resizeElL.style.cursor = 'w-resize'
  14. resizeElL.style.position = 'absolute'
  15. resizeElL.style.height = '100%'
  16. resizeElL.style.width = '30px'
  17. resizeElL.style.left = '0px'
  18. resizeElL.style.top = '0px'
  19. img.style.position = 'absolute'
  20. img.style.left = '-12px'
  21. img.style.top = '50%'
  22. resizeElL.onmousedown = (e) => {
  23. const elW = dragDom.clientWidth
  24. const EloffsetLeft = dragDom.offsetLeft
  25. console.log(elW, EloffsetLeft)
  26. const clientX = e.clientX
  27. document.onmousemove = function (e) {
  28. // console.log(e.clientX,dragDom.offsetLeft,333333)
  29. e.preventDefault()
  30. // 左侧鼠标拖拽位置
  31. if (clientX > EloffsetLeft && clientX < EloffsetLeft + 10) {
  32. // 往左拖拽
  33. if (clientX > e.clientX) {
  34. console.log(e.clientX)
  35. dragDom.style.width = elW + (clientX - e.clientX) + 'px'
  36. console.log(dragDom.style.width)
  37. }
  38. // 往右拖拽
  39. console.log(clientX, e.clientX)
  40. if (clientX < e.clientX) {
  41. console.log(dragDom.clientWidth, 66666)
  42. if (dragDom.clientWidth >= minWidth) {
  43. console.log(elW, e.clientX, clientX)
  44. dragDom.style.width = elW - (e.clientX - clientX) + 'px'
  45. }
  46. }
  47. }
  48. }
  49. // 拉伸结束
  50. document.onmouseup = function (e) {
  51. document.onmousemove = null
  52. document.onmouseup = null
  53. }
  54. }
  55. }
  56. })

 页面代码使用: 在 el-drawer 标签内使用指令 v-drawerDrag

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/424978
推荐阅读
相关标签
  

闽ICP备14008679号