У меня есть компонент, использующий react-virtualized
List
для его виртуализированной прокрутки, где каждая строка является либо заголовком категории, либо фактическим содержимым, принадлежащим этой категории. Так что-то вроде:Как отобразить строку List/Grid, как если бы она была липкой?
Fruits
- Strawberry
- Blueberry
- Mango
- ...etc
Grains
- Oats
- Wheat
- Rice
- ...etc
(Где Fruits
и Grains
являются категории заголовков)
Как прокрутке, если они прокрутки мимо заголовка категории, я хочу, чтобы иметь возможность принимать данные из этой строки и сделать его «липким» (в кавычках, потому что position: sticky
на самом деле не является жизнеспособным вариантом), контейнер, прикрепленный к верхней части контейнера прокрутки, пока они не прокрутятся мимо заголовка следующей категории и т. д. (В принципе, так же, как прокрутка через «Художники» работает в приложении iOS Music.)
Сложная вещь: я хочу, чтобы этот липкий заголовок все еще находился внутри контейнера прокрутки, а не накладывал его или сидел над ним, и он должен заполнить ширину своего родительского контейнера, что исключает предоставление липкого контейнера вне компонента List
и просто накладывает его сверху на position: absolute
.
Насколько я могу судить, кажется, что делать что-то подобное на самом деле невозможно с react-virtualized
на данный момент - так как все строки расположены абсолютно, нет никакого способа создать «липкую» строку внутри прокрутки контейнер. Абсолютное позиционирование липкого заголовка будет работать, но только если все остальные строки были статически расположены в нормальном потоке документа.
Возможно ли достичь чего-то вроде липких заголовков с react-virtualized
? Если нет, что нужно сделать, чтобы сделать react-virtualized
?
Спасибо!
Hi @wisew. То, что вы описываете, на самом деле не может быть вызвано виртуализацией, насколько мне известно. Мои ограниченные эксперименты с «позицией: липкие» заставили меня поверить, что это убийца производительности. :( – brianvaughn
Будет ли 'ScrollSync' полезным в этом случае? Https://bvaughn.github.io/react-virtualized/?component=ScrollSync#/components/ScrollSync – Mbrevda