Так что я работаю над компонентом выбора времени в реакции (без библиотеки), который выглядит как android нативное чувство. Это похоже на ввод с начальным значением времени, но при нажатии на него появляется модальное окно, похожее на что-то ниже, которое дает пользователю возможность обновить его.
Итак, моя ментальная модель для этого:
Создание (начальных) 9 элементов (чисел) и добавление к прокручиваемому контейнеру, первые 3 находятся сверху из переполнения следующие 3 будут видимыми, а последние 3 будут ниже нижнего переполнения, поэтому здесь мы генерируем числа для DOM, но таким образом, что в любой момент времени может быть только 9 элементов. основываясь на событии прокрутки, мы можем добавлять или удалять элементы позже, когда это необходимо, когда пользователь выполняет прокрутку.
Удаление и добавление элементов на основе видимых элементов прокручиваемого контейнера, поэтому в основном мы имеем, поскольку у нас есть 9 элементы, когда, скажем, пользователь прокручивает часы и исчерпывает элементы, он просто создает элемент, который приводит к продолжению прокрутки, например, пользователь нажимает 00 часов и это последний элемент, он должен иметь возможность прокручивать дальше до 23, и идет с наоборот - это создает эффект бесконечной прокрутки.
Каким бы ни было начальное значение на входе, оно также должно отображаться в центре.
мой способ перемещения элементов в центр будет выглядеть примерно так заполнение нижнего или верхнего переполнения для достижения эффекта бесконечной прокрутки.
![Looks like this](https://i.stack.imgur.com/QKuD1.png)