Перейти до головного вмісту

Блоки

Пропустити Навігація

Навігація

  • Інформаційна панель

    • Домашня сторінка

    • Сторінки сайту

      • Мої курси

      • Мітки

      • ФайлІнструкція для здобувачів освіти до вибору дисципл...

      • URL (веб-посилання)Вибір дисциплін на 2025-2026 навчальний рік

      • URL (веб-посилання)Вибір дисциплін на 2024-2025 навчальний рік

      • ФорумНовини сайту

      • URL (веб-посилання)Інструкція - основи роботи з системою Moodle

      • URL (веб-посилання)ЦИВІЛЬНИЙ ЗАХИСТ

      • ТекаНормативна база СЕЗН

      • URL (веб-посилання)Відновлення пароля

      • ФайлПам’ятка для користувача системи Moodle

      • ФайлСистема оцінки курсу

      • Зворотний зв’язокОцінка якості курсу

    • Мої курси

    • Курси

      • Факультети, кафедри

        • Біологічний факультет

        • Економічний факультет

        • Журналістики факультет

        • Інженерний навчально-науковий інститут ім. Ю.М. По...

        • Іноземної філології факультет

        • Математичний факультет

          • Кафедра загальної математики

          • Кафедра загальної та прикладної фізики

          • Кафедра комп'ютерних наук

          • Кафедра прикладної математики і механіки

          • Кафедра програмної інженерії

            • archive

            • Технології Big Data

            • Машинне навчання (Математичні основи машинного нав...

            • Проєктування та аналіз обчислювальних алгоритмів

            • C/к Сучасні СУБД (Плюта Н. В.)

            • 2 Програмне забезпечення наукових досліджень (магі...

            • Автоматизоване тестування (Кудін О.В.)

            • Автоматизоване тестування Web-додатків (Кудін О.В.)

            • Адміністрування комп'ютерних систем (Горбенко В.І.)

            • Алгебра та геометрія Дисципліна вільного вибору ст...

            • Алгоритми та структури даних (Програмна інженерія)

            • Алгоритми шифрування та захисту даних

            • Сучасні каркаси web-додатків

              • Опис курсу

              • Контрольний модуль 1

                • СторінкаЛекція №1 Огляд сучасних каркасів вебдодатків

                • ЗавданняЛабораторна робота №1: Розгортання простого Vue.js...

                • СторінкаЛекція №2-3 Основи компонентів

                • ЗавданняЛабораторна робота №2. Створення компонентів з вик...

                • СторінкаЛекція №4 Slots, Provide/Inject

                • ЗавданняЛабораторна робота №3. Використання slots та provi...

                • СторінкаЛекція №5 Composable

                • ЗавданняЛабораторна робота №4. Vue Composable

                • ТестМодульний тест 1

              • Контрольний модуль 2

              • Підсумковий контроль

          • Кафедра фундаментальної та прикладної математики

          • Практична підготовка математичного факультету

          • Інформація, Статистика Математичного факультету

        • Менеджменту факультет

        • Соціальної педагогіки та психології факультет

        • Соцiологiї та управлiння факультет

        • Факультет історії та міжнародних відносин

        • Факультет фізичного виховання, здоров'я та туризму

        • Філологічний факультет

        • Юридичний факультет

      • Аспірантура

      • Науково-технічна позашкільна освіта

      • Підготовчі курси до ЗНО

      • Адміністративний розділ

      • Центр післядипломної освіти та професійних кваліфі...

      • Школа педагогічної майстерності

  • Закрити
    Переключити введення пошуку
  • Українська ‎(uk)‎
    • Русский ‎(ru)‎
    • Українська ‎(uk)‎
    • Deutsch ‎(de_old)‎
    • English ‎(de)‎
    • English ‎(en)‎
    • Español - Internacional ‎(es)‎
    • Français ‎(fr)‎
    • Italiano ‎(it)‎
    • Polski ‎(pl)‎
  • Вхід

Сучасні каркаси web-додатків

Закрити
Переключити введення пошуку
Вибір дисциплін Згорнути Розгорнути
Вибір дисциплін Згорнути Розгорнути
Обрати дисципліни Статистика вибору дисциплін ВМУ Результати вибору дисциплін
  1. Головна
  2. Курси
  3. Факультети, кафедри
  4. Математичний факультет
  5. Кафедра програмної інженерії
  6. Сучасні каркаси web-додатків
  7. Контрольний модуль 1
  8. Лабораторна робота №2. Створення компонентів з вик...

Лабораторна робота №2. Створення компонентів з використанням Vue 3 та Tailwind CSS

Умови завершення
Термін спливає: суботу 28 вересня 2024 10:42 AM

Мета:

  1. Навчитися створювати базові компоненти у Vue 3.
  2. Опанувати стилізацію компонентів за допомогою Tailwind CSS.
  3. Практикувати передачу пропсів та обробку подій між компонентами.

Засоби та інструменти:

  • Vue 3
  • Tailwind CSS
  • Node.js (для встановлення залежностей)
  • npm або yarn для управління пакетами

Завдання

  1. Налаштування проекту Vue 3 з Tailwind CSS на базі проекту з попередньої лабораторної роботи.

    #Встановіть та налаштуйте Tailwind CSS відповідно до офіційної документації:
    npm install -D tailwindcss postcss autoprefixer
    npx tailwindcss init -p
    
  2. Налаштувати tailwind.config.js за необхідноті.

  3. Створіть компонент Button за наступними функціональними вимогами:

    • Приймати наступні пропси:
      • label: Текст кнопки.
      • color: Кольорова тема кнопки (наприклад, червона, синя).
      • size: Розмір кнопки (маленька, середня, велика).
      • icon: Іконка для кнопки (необов’язкова).
    • Використайте Tailwind для стилізації кнопки з урахуванням пропсів.
    • Додайте можливість обробки події click на кнопці.
  4. Створіть компонент SearchableDropdown за наступними функціональними вимогами:

    • Загальні вимоги:
      • Приймає масив елементів для випадаючого списку через пропс.
      • Має поле пошуку для фільтрації варіантів, що відображається при отриманні фокусу вводу.
      • Використайте Tailwind для стилізації випадаючого списку та поля пошуку.
      • Забезпечте можливість вибору елементу та передачі вибраного значення у батьківський компонент через подію.
    • Пошук по значенням (Searchable):
      • Користувач має можливість вводити текст для фільтрації елементів списку.
      • Список варіантів має оновлюватися відповідно до введеного тексту в режимі реального часу.
      • Якщо жоден варіант не відповідає введеному тексту, відображається повідомлення "Нічого не знайдено".
    • Вибір значення (Selection):
      • Користувач може вибрати одне або кілька значень зі списку (в залежності від налаштувань компонента).
      • Після вибору список закривається, а вибране значення відображається в полі введення.
    • Підтримка клавіатури:
      • Компонент підтримує навігацію за допомогою клавіш стрілок та Enter для вибору елементів.
    • Скидання вибору (Clear Selection):
      • Додати можливість очищати вибране значення через кнопку "очистити".
    • Кастомізація відображення варіантів:
      • Користувач може кастомізувати відображення елементів списку (наприклад, додавати іконки).
  5. Створіть сторінку з демо, яка відображатиме всі можливі комбінації параметрів для кожного з компонентів:
    • Для компонента Button – різні кольори, розміри та наявність іконок.
    • Для SearchableDropdown – різні набори даних, фільтрація, можливість вибору кількох елементів.
  6. Розмістіть ваш проект в директорії lab2 публічного репозиторію GitHub/GitLab/Bitbucket з назвою <vendor>/mjsf-mag та додайте посилання на репозиторій у звіт.

Контрольні питання

  • Що таке props у Vue.js і для чого вони використовуються?
  • Які типи даних можна використовувати для пропсів у Vue? Як визначити тип пропсу?
  • Як задати значення за замовчуванням для пропса у Vue?
  • Що таке emits у Vue.js і для чого вони використовуються?
  • Як передати подію з дочірнього компонента до батьківського компонента у Vue?
  • Як визначити події, які компонент може "викидати" (emit)?
  • Як можна обробляти події у батьківському компоненті, що надходять від дочірнього компонента?
  • Що таке директиви у Vue.js і як вони відрізняються від компонентів?
  • Які є вбудовані директиви у Vue.js, і які їхні основні призначення?
  • Як створити власну директиву у Vue.js? Які основні етапи цього процесу?
Попередня секція
Лекція №2-3 Основи компонентів
Наступна секція
Лекція №4 Slots, Provide/Inject
Підсумок збереження даних
Завантажте мобільний додаток