Перейти к индексу, используя `scrollToIndex` во второй раз

(Этот вопрос относится к реагирующей виртуализированной библиотеке)

У меня есть компонент, который использует <List> для отображения нескольких категорий предметов. Полученный результат выглядит примерно так:

Jump to: Planets, Nebulae

PLANETS
- Mercury
- Venus
- Jupiter
- ...
NEBULAE
- Horsehead
- Ant
- Boomerang
- ...

Я хотел бы использовать ссылки "Перейти к" для прокрутки к началу соответствующего раздела в списке. Если я прокручиваю некоторые из них, я бы хотел, чтобы последующие клики по ссылке перехода вернули меня в раздел.

Первый раз, когда я нажимаю ссылку "Туманности", она работает нормально, но при последующих щелчках ничего не происходит. Я предполагаю, что это потому, что scrollToIndex является опорой и не меняется после первого клика. Я пытался использовать forceUpdateGrid но это не похоже на сброс позиции прокрутки.

Есть ли способ перейти к одному и тому же индексу несколько раз подряд?

1 ответ

Решение

К сожалению, это ограничение подхода реквизита. (Виртуализация реагирует только на прокрутку вручную, когда обнаруживается новая пропа. В противном случае пользователи не смогут прокручивать мышами, как только будет установлена ​​начальная опора.)

Один из способов обойти это - сбросить scrollToIndex пропустите, как только вы установите его (так что, если вы затем сбросите его, оно все равно будет новым значением). Временно отменить его (иначе сбросить на undefined) также не повлияет на список, так что с вами все будет в порядке.

Другие вопросы по тегам