element-plus / element-plus

🎉 A Vue.js 3 UI Library made by Element team
https://element-plus.org
MIT License
24.21k stars 15.99k forks source link

[Component] [slider] 横屏时(也就是页面旋转90度),el-slider无法滑动 #17908

Closed IndexLibrary closed 1 month ago

IndexLibrary commented 1 month ago

Bug Type: Component

Environment

Reproduction

Related Component

Reproduction Link

Element Plus Playground

Steps to reproduce

拖动滑块往另一边移动

What is Expected?

滑块往拖动方向移动

What is actually happening?

没有移动

Additional comments

(empty)

betavs commented 1 month ago

垂直模式

qtencent7 commented 1 month ago

你这个滚动条,如果html正常,本身是横着的嘛。如果,html转动90度,slider竖起来了。 我试了一下,如果横着滑动,是可以滚动的,但是,竖着滑动,就没有效果。

qtencent7 commented 1 month ago

原因就在源码的这个地方, image slider里面有个属性,叫做vertical,如果设置成vertical,那么计算的就是Y的值,如果,vertical不存在,那么计算就是X的值。 这个地方需要修改计算X,Y的逻辑,改成,先根据slider的长度和屏幕的移动的X,Y值对应的单位长度像素计算出来,从而确定X值或者Y值,加一,代表多少像素。然后,在根据移动的X值和Y值,共同确定,初始点距离当前点的X,Y的绝对距离是多少,然后根据像素比,把对应的移动距离表示出来就可以了

IndexLibrary commented 1 month ago

垂直模式

是要横着显示的,实例里的代码是旋转页面模拟横屏,实际上滑块是横着

IndexLibrary commented 1 month ago

你这个滚动条,如果html正常,本身是横着的嘛。如果,html转动90度,slider竖起来了。 我试了一下,如果横着滑动,是可以滚动的,但是,竖着滑动,就没有效果。

是的,是需要横着显示

betavs commented 1 month ago

是要横着显示的,实例里的代码是旋转页面模拟横屏,实际上滑块是横着

@IndexLibrary 移除旋转样式后,在手机中竖屏可以正常滑动,旋转屏幕后横屏也是正常的

IndexLibrary commented 1 month ago

是要横着显示的,实例里的代码是旋转页面模拟横屏,实际上滑块是横着

@IndexLibrary 移除旋转样式后,在手机中竖屏可以正常滑动,旋转屏幕后横屏也是正常的

我们这边是用旋转样式来显示横屏效果,试了下设置vertical然后把slider旋转90度,滑动是没问题了,但是tooltip位置没有跟着移动

btea commented 1 month ago

@IndexLibrary tooltip位置可以通过设置placement变化。

IndexLibrary commented 1 month ago

后面我设置了disabled,自己监听touch了

github-actions[bot] commented 11 hours ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

此 issue 已被自动锁定,因为关闭后没有任何近期活动。如果有相关 bug,请重新创建一个新 issue。