Часть 1: Базовый пример

В этой статье мы собираемся создать базовый пример Popover с использованием безголового пользовательского интерфейса.

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

Создать всплывающий компонент

В корневой папке создайте папку компонентов, затем создайте MyPopover.js. Мы добавляем класс во внешний div, кнопку Popover, а также содержимое панели.

import React from 'react'
import { Popover } from '@headlessui/react'
const MyPopover = () => {
return (
<div className="fixed top-16 w-full max-w-sm px-4">
<Popover className="relative">
<Popover.Button
className="group inline-flex items-center rounded-md bg-orange-700 px-3 py-2 text-base font-medium text-white hover:text-opacity-100 focus:outline-none focus-visible:ring-2 focus-visible:ring-white focus-visible:ring-opacity-75"
>Solutions</Popover.Button>
<Popover.Panel className="absolute z-10 mt-3">
<div className="overflow-hidden rounded-lg shadow-lg ring-1 ring-black ring-opacity-5">
<div className="relative grid gap-8 bg-white p-7 ">
<a href="/analytics">Analytics</a>
<a href="/engagement">Engagement</a>
<a href="/security">Security</a>
<a href="/integrations">Integrations</a>
</div>
</div>
</Popover.Panel>
</Popover>
</div>
)
}
export default MyPopover

Под index.js импортируйте компонент MyPopover, добавьте цвет фона и сделайте так, чтобы ‹div› охватывал всю высоту области просмотра.

import MyPopover from '../components/MyPopover'
export default function Home() {
return (
<div className="bg-orange-200 h-screen">
<MyPopover/>
</div>
)
}

Если вам понравилась эта история, вам также может понравиться подписка на Medium. Это всего 5 долларов в месяц (цена чашки кофе!), но это даст вам неограниченный доступ к историям, поддерживая ваших любимых писателей. Если вы зарегистрируетесь по этой ссылке, я получу небольшую комиссию. Спасибо!

Подписывайтесь на нас: YouTube, Medium, Udemy, Linkedin, Twitter, Instagram, Gumroad, Quora, Telegram.

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord. Заинтересованы в Взлом роста? Ознакомьтесь с разделом Схема.