Я заканчиваю свой первый проект со Stimulus и решил создать документ с примерами того, как мы можем реализовать различные функции с помощью этого фреймворка.

Я расскажу:

  • Оповещение о подтверждении
  • Предварительный просмотр загрузки изображения
  • Автоматическая высота текстовой области
  • Проверка формы

Если вы еще не знакомы со Stimulus — это простой фреймворк, позволяющий писать структурированный код JavaScript внутри контроллеров. Стимул имеет хорошую документацию на официальном сайте.

Оповещение о подтверждении

Цель состоит в том, чтобы информировать пользователей о том, что они собираются покинуть наш веб-сайт.

У нас есть атрибут data-action, который позволяет взаимодействовать с событиями кликов через showConfirmation функцию Confirmation контроллера.

Исходный код на CodePen и GitHub.

Предварительный просмотр загрузки изображения

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

Когда пользователь выбирает изображение, стимул выполняет updatePreview функцию. Он проверяет, были ли загружены какие-либо файлы, а затем показывает или скрывает предварительный просмотр.

Когда пользователь нажимает кнопку очистки загрузки, вызывается функция clearUpload. Он обнуляет значение входа загрузки и запускает updatePreview.

Исходный код на CodePen и GitHub.

Автоматическая высота текстовой области

Textarea не может увеличить свой размер до размера всего текста. Обычно мы хотим реализовать эту функцию.

Исходный код на CodePen и GitHub.

Проверка формы

Методов проверки очень много. Вот один из них:

Мы группируем входные данные по условиям проверки. Имя и фамилия должны быть заполнены хотя бы одним символом. Возраст должен быть равен или больше 18 лет.

Исходный код на CodePen и GitHub.

Спасибо за внимание!

Полная версия примеров здесь. Не стесняйтесь исправлять код и советовать новые варианты использования на основе вашего опыта 🙂