Skip to main content

Blocks

Skip Navigation

Navigation

  • Dashboard

    • Site home

    • Site pages

      • My courses

      • Tags

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

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

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

      • ForumНовини сайту

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

      • URLЦИВІЛЬНИЙ ЗАХИСТ

      • FolderНормативна база СЕЗН

      • URLВідновлення пароля

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

      • FileСистема оцінки курсу

      • FeedbackОцінка якості курсу

    • My courses

    • Courses

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

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

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

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

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

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

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

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

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

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

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

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

            • archive

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

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

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

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

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

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

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

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

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

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

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

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

              • Опис курсу

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

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

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

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

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

                • PageЛекція №4 Slots, Provide/Inject

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

                • PageЛекція №5 Composable

                • AssignmentЛабораторна робота №4. Vue Composable

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Close
    Toggle search input
  • English ‎(en)‎
    • Русский ‎(ru)‎
    • Українська ‎(uk)‎
    • Deutsch ‎(de_old)‎
    • English ‎(de)‎
    • English ‎(en)‎
    • Español - Internacional ‎(es)‎
    • Français ‎(fr)‎
    • Italiano ‎(it)‎
    • Polski ‎(pl)‎
  • Log in

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

Close
Toggle search input
Вибір дисциплін Collapse Expand
Вибір дисциплін Collapse Expand
Обрати дисципліни Статистика вибору дисциплін ВМУ Результати вибору дисциплін
  1. Home
  2. Courses
  3. Факультети, кафедри
  4. Математичний факультет
  5. Кафедра програмної інженерії
  6. Сучасні каркаси web-додатків
  7. Контрольний модуль 1
  8. Лабораторна робота №2. Створення компонентів з вик...

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

Completion requirements
Due: Saturday, 28 September 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? Які основні етапи цього процесу?
Previous activity
Лекція №2-3 Основи компонентів
Next activity
Лекція №4 Slots, Provide/Inject
Data retention summary
Get the mobile app