Ich verwende eine List
Komponente in react-virtualisiert, um eine große Anzahl von Elementen zu rendern. In meiner Implementierung sind die Elemente unterteilt, und ich möchte, dass die Abschnittsüberschriften "sticky" sind, damit der aktuelle Abschnitt sichtbar bleibt, wenn Benutzer nach unten scrollen. Im Wesentlichen muss ich reaktionsvirtualisiert werden, um die Abschnittsüberschriften nicht zu zerstören, wenn sich die Bildlaufposition ändert (aber weiterhin andere Elemente zerstören). Gibt es einen Weg, dies jetzt zu tun? Ich bin offen für Hacks, solange sie nicht zu verrückt sind.Sticky-Header in reaktiv-virtualisiert
4
A
Antwort
1
Wenn ich Ihre Frage richtig verstanden habe, möchten Sie Sticky Header a la eine Tabelle haben. Sie können das mit der Komponente ScrollSync
tun, werfen Sie einen Blick auf die demo/docs.
Hier ist die exmaple in docs angezeigt:
import { Grid, List, ScrollSync } from 'react-virtualized'
import 'react-virtualized/styles.css'; // only needs to be imported once
function render (props) {
return (
<ScrollSync>
{({ clientHeight, clientWidth, onScroll, scrollHeight, scrollLeft, scrollTop, scrollWidth }) => (
<div className='Table'>
<div className='LeftColumn'>
<List
scrollTop={scrollTop}
{...props}
/>
</div>
<div className='RightColumn'>
<Grid
onScroll={onScroll}
{...props}
/>
</div>
</div>
)}
</ScrollSync>
)
}
1
Wir werden Ihnen ähnliche Anforderungen hatten - wir brauchen eine Liste, die mit Unterstützung für sticky Header geschnitten wurde. Dies konnten wir nicht mit reaktionsvirtualisierten Listen/Grids erreichen, also habe ich https://github.com/marchaos/react-virtualized-sticky-tree erstellt, das sticky header unterstützt.
Siehe Beispiel here.
Verwandte Themen
- 1. Duplicate StickyHeader in AngularJs
- 2. React Native stickyHeader von ListView wird von Row Component von ListView überlappt
- 3. Jquery-offsetLeft funktioniert nicht beim Scrollen nach rechts
- 4. Wie man einen klebrigen Header in Angular Js macht?
- 5. Wie kann ich Ansichten Position in scrollView ändern, um es oben auf dem Bildschirm zu setzen
- 6. Git Konflikte zusammenführen, wollen nichts entfernen
- 7. Kontextmenü und Filter Ausgabe
- 8. Tablesorter Widgets StickyHeaders Widget funktioniert nicht in Ajax geladen mvc Teilansicht
- 9. In CSV in Array in Python konvertieren
- 10. Zoom-in in Weltkarte in R
- 11. 'IN' & 'NICHT IN' in Linq Abfrage
- 12. % in% Veränderung in dplyr Paket in R
- 13. Schleifen in Schleifen in Schleifen in Java
- 14. "IN" und "NOT IN" in CakePHP3
- 15. Funktionsparameter in Zeichenfolge in Parameter in Objekt
- 16. In Operator in Linq
- 17. In Python in bash
- 18. in Verknüpfungstabelle in Hibernate
- 19. IN-Klausel in sqlite
- 20. \ in path.combine in C#
- 21. ZWISCHEN IN in SQL
- 22. "IN" Operator in Linq
- 23. in
- 24. in
- 25. in
- 26. in
- 27. in
- 28. Synchronisation in Vektoren in Java
- 29. SQLite in Operator in query()
- 30. Blobs in Blobstore in GAE