Using scrollToIndex with sticky headers
keedyc opened this issue · 0 comments
keedyc commented
Background
I'd like to make a virtual table with a few characteristics:
- a sticky header row
- keyboard shortcuts (⬆️ and ⬇️) to change the selected row
- auto-scroll to reveal a newly-focused row if it's partly offscreen
Attempts
I tried to implement this in two ways shown in this example code, but each had an issue 😅
-
Put the header in
slot="header"
- Auto-scrolling reveals only part of a row when navigating down. This seems to happen because the header row shifts the other rows down, and auto-scrolling based on
scrollToIndex
doesn't take that shift into consideration. Based on this comment about invisible elements, I think this is the expected behavior in this case.
- Auto-scrolling reveals only part of a row when navigating down. This seems to happen because the header row shifts the other rows down, and auto-scrolling based on
-
Put the header in
slot="item"
- Auto-scrolling reveals only part of a row when navigating up. This seems to happen because the sticky header row hides the topmost row.
Questions
- Is there another way to do what I have in mind?
- If not, would you be open to a PR that tweaks existing behavior to fit this use case?
Thanks in advance for any insight you can offer! 🙏