当有其他东西固定在底部的时候, Tabel 的 sticky 横向滚动条判断不准确,导致出现”无滚动条“ 现象
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 45/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- react, typescript
- Bereich
- frontend
Rechercherichtung
Reproduziere das Problem mit der verlinkten CodeSandbox und beginne dann bei src/stickyScrollBar.tsx ungefähr in Zeile 95. Untersuche, wie die Sichtbarkeit am unteren Rand berechnet wird. Bestätige den Fall mit dem festen Paginator und definiere als abgeschlossen, dass eine nutzbare horizontale Bildlaufleiste erhalten bleibt, wobei der vorgeschlagene Wert Table.sticky.offsetHide den Offset für den ausgeblendeten unteren Bereich beeinflusst.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
复现 demo :https://codesandbox.io/s/xuan-ze-he-cao-zuo-antd-5-1-6-forked-sp5e4n?file=/demo.tsx
https://github.com/react-component/table/blob/27a82412f3f7341a7a7d4898cbac1efb1addecbc/src/stickyScrollBar.tsx#L95 此行的逻辑是判断”用户是否看到了默认的横向滚动条“,但是例如 demo 那样,有时候我们需要将分页器等操作区固定在底部,导致有一定距离(这段距离等于分页器的高度)会挡住”默认的横向滚动条“,但是这一行代码没有判断这种情况,导致既看不到”默认的横向滚动条“又不渲染”虚拟的横向滚动条“,即出现”无滚动条“ 现象
希望可以在增加一个开放的 API : Table.sticky.offsetHide
即:
https://github.com/react-component/table/blob/27a82412f3f7341a7a7d4898cbac1efb1addecbc/src/stickyScrollBar.tsx#L95
if (
- tableBottomOffset - getScrollBarSize() <= currentClientOffset ||
tableOffsetTop >= currentClientOffset - offsetScroll
) {
if (
+ tableBottomOffset - getScrollBarSize() + offsetHide <= currentClientOffset ||
tableOffsetTop >= currentClientOffset - offsetScroll
) {
例如我这个情况下,设置 offsetHide 等于 分页器高度,就可以完美解决(已通过 yarn link 调试成功,是可以完美解决的)
亦或者改变”判断用户是否看到默认滚动条“的逻辑,改为使用 IntersectionObserver 等方法来更精准的判断
不仅仅是分页区,以后遇到需要固定的任何底部操作区,都会依赖这个 API,希望大佬可以增加这个支持~万分感谢!!
- Vorherrschende Sprache
- TypeScript
- Sterne
- 1.4k
- Forks
- 619
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus react-component/table
-
Fixed-header tables force one getBoundingClientRect per column on every mount (ResizeObserver-driven MeasureCell)Evtl. vergeben @rubenmarcus hat das vor 13 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 42/100
react-component/table#1507 ·
-
rowExpandable does not work when dataSource has children fieldEvtl. vergeben @nrps9909 hat das vor 48 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 50/100
react-component/table#1416 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
react-component/table#1403 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 15/100
react-component/table#1269 · 1 Kommentar ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
react-component/table#1257 · 1 Reaktion ·
Alle Issues in react-component/table
Ähnliche Issues
-
documentation good first issue hacktoberfest help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
libredb/libredb-studio#1756 ·
Maintainer antworten meist innerhalb von 1 Tag
-
state:triage-needed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
lingdojo/kana-dojo#32365 · 1 Kommentar · 5 Reaktionen ·
Maintainer antworten meist innerhalb von 1 Tag
-
friction
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
kentcdodds/kody#3706 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
copperheadhq/copperhead#378 ·
Maintainer antworten meist innerhalb von 1 Tag