Перемещение текста-заполнителя в компоненте автозаполнения в React

Я пытаюсь создать компонент Autocomplete пользовательского интерфейса материала. Вместо того, чтобы показывать предложения автозаполнения в виде раскрывающегося списка, как я могу отобразить его как движущийся заполнитель? Текст внутри компонента автозаполнения должен скользить влево?

Код: https://codesandbox.io/s/material-demo-forked-mgg7z?file=/demo.js

В результатах поиска («Крестный отец») в качестве заполнителя должен быть слайд, движущийся влево.

Вы ищете поведение, похожее на то, что мы имеем в Gmail (автозаполнение текста при наборе электронных писем) или в MSExcel (где, если тот же текст отображается серым цветом)?

Darshna Rekha 01.01.2021 11:47

Мне нужен движущийся заполнитель внутри текстового поля. Движущийся заполнитель должен быть поисковыми подсказками. Например, если у меня есть текстовое поле поиска [для поиска в списке стран], пользователь должен иметь возможность видеть список стран внутри текстового поля в виде анимированного заполнителя, перемещающегося справа налево.

KillMe 03.01.2021 23:37
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
3
2
1 492
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

В этой демонстрации я создал собственный хук useAnimatedPlaceholder.

https://codesandbox.io/s/material-demo-forked-2em32?file=/demo.js

Его можно легко вставить в любые входные базовые компоненты. Функциональность достигается с помощью комбинации useEffect и setTimeout. Дайте знать, если у вас появятся вопросы.

Если текстовое поле пусто, то должен быть движущийся заполнитель. Итак, для вашего примера в текстовом поле должно отображаться «Бог, побег из Шоушенка», перемещающееся справа налево [заполнитель] внутри текстового поля.

KillMe 03.01.2021 23:39

Анимированный заполнитель, который течет справа налево? Звучит как плохая идея UX, если бы она была внутри текстового поля, потому что это испортит пользовательский ввод. Как насчет под текстовым полем в качестве вспомогательного текста?

Wei J. Zheng 05.01.2021 03:51

Как насчет реализации панели поиска на этом сайте: covid19india.org?

KillMe 05.01.2021 20:54

Действительно, этот пример имеет гораздо больше смысла. Я изменю свой ответ, когда у меня будет время

Wei J. Zheng 06.01.2021 00:19

Вы также можете указать текстовое поле внутри автозаполнения.

Должен ли я отправить его в качестве реквизита?

KillMe 08.01.2021 03:39

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