Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: use getComputedStyle instead getBoundingClientRect. #975

Closed
wants to merge 1 commit into from
Closed

fix: use getComputedStyle instead getBoundingClientRect. #975

wants to merge 1 commit into from

Conversation

bestlyg
Copy link

@bestlyg bestlyg commented Aug 23, 2023

使用getComputedStyle代替getBoundingClientRect解决issue.

发现issue出现的原因是之前的一次修复使用了getBoundingClientRect 代替offsetWidth,目的是解决offsetWidth只能读取整数的问题,但是这会取值到当前实际的宽度,即300px 乘以 1.5的缩放 总共450px, 当悬浮节点挂载在1.5缩放的div里后,之前设置的450px 会被再乘以1.5倍的缩放。

所以使用getComputedStyle读取width值,他可以读取到select的精确宽度。

@vercel
Copy link

vercel bot commented Aug 23, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
select ❌ Failed (Inspect) Aug 23, 2023 7:19am

@zombieJ
Copy link
Member

zombieJ commented Aug 23, 2023

这个不行,只是正好 parent 容器也在同一个地方所以 transform 一致了。如果是不同的 holder 使用不同的 transform,这就失效了。应该需要在 rc-trigger 里来修复这个问题。

@bestlyg
Copy link
Author

bestlyg commented Aug 23, 2023

这个不行,只是正好 parent 容器也在同一个地方所以 transform 一致了。如果是不同的 holder 使用不同的 transform,这就失效了。应该需要在 rc-trigger 里来修复这个问题。

我认为如果弹出框在另一个节点下,但是他用了不同的transfrom而展示不同的效果是符合预期的诶,因为selectDropdown只要和select保持同一个宽度就足够了。

比如300px,在同一父节点且父节点存在1.5缩放的时候,他们都需要被放大1.5倍到450px保持一致宽度,而不是现在dropdown被设置成width450px,再被放大1.5。但是当他被挂载到另一个2倍缩放的节点下时,我认为他应该展示成300px的2倍到600px。

如果此时他展示原select的300px宽度,看起来就会很怪,因为select已经被放大到450px了。
如果此时他展示现在select的450px宽度,那逻辑就会很怪,这相当于拿到select的现宽度去展示且不被再次放大。

@zombieJ
Copy link
Member

zombieJ commented Aug 23, 2023

我认为如果弹出框在另一个节点下,但是他用了不同的transfrom而展示不同的效果是符合预期的诶,因为selectDropdown只要和select保持同一个宽度就足够了……

这个就不符合 dropdownMatchSelectWidth 的语义了,它的目的就是让下拉和 Select 相同。容器不同的 transform 下,Popup 也应该和它对齐才对。

@zombieJ
Copy link
Member

zombieJ commented Aug 23, 2023

#976 我在这边先修了哈~~

@zombieJ zombieJ closed this in #976 Aug 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants