Skip to content

[hook] Create usePaste hook #490

Description

@montanaaq

Предложение: хук usePaste

Привет! Я делаю поле ввода номера телефона с маской (+7 (999) 999-99-99) с помощью useMask из этой библиотеки и столкнулся с проблемой, когда пользователь вставляет полный номер, например 89990009991 или +79990009991.

Сейчас маска просто обрабатывает вставленные символы по одному и не понимает, что нужно отбросить ведущую 8 или +7, поэтому получается некорректный результат (+7 (899) 900-09-99 вместо +7 (999) 000-09-91).

На данный момент я решаю это вручную через обработчик onPaste: получаю текст из event.clipboardData.getData('text'), очищаю его, а затем заново устанавливаю значение через нативный setter, чтобы useMask обработал его как обычный ввод. Это работает, но получается довольно много шаблонного кода для задачи, которая кажется достаточно распространённой (маски ввода, поля с тегами, вставка URL, ID и т.д.).

Можно ли добавить в библиотеку небольшой хук usePaste?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions