DialogOkno dialogowe
Okno dialogowe wyświetla ważne powiadomienia podczas interakcji użytkownika.
Oprócz bezpośredniego używania tego komponentu, mdui udostępnia cztery funkcje: mdui.dialog, mdui.alert, mdui.confirm, mdui.prompt. Funkcje te upraszczają korzystanie z komponentu Dialog.
Sposób użycia
Zaimportuj komponent:
import 'mdui/components/dialog.js';
Zaimportuj typ TypeScript komponentu:
import type { Dialog } from 'mdui/components/dialog.js';
Przykład użycia:
<mdui-dialog class="example-dialog">
Dialog
<mdui-button>Zamknij</mdui-button>
</mdui-dialog>
<mdui-button>Otwórz okno dialogowe</mdui-button>
<script>
const dialog = document.querySelector(".example-dialog");
const openButton = dialog.nextElementSibling;
const closeButton = dialog.querySelector("mdui-button");
openButton.addEventListener("click", () => dialog.open = true);
closeButton.addEventListener("click", () => dialog.open = false);
</script>Przykłady
Zamknięcie po kliknięciu na osłonie
Dodanie atrybutu close-on-overlay-click zamknie okno dialogowe po kliknięciu na osłonę.
Zamknięcie po naciśnięciu klawisza ESC
Dodanie atrybutu close-on-esc zamknie okno dialogowe po naciśnięciu klawisza ESC.
Pełny ekran
Dodanie atrybutu fullscreen wyświetli okno dialogowe na pełnym ekranie.
Ikona
Ustawienie atrybutu icon spowoduje dodanie ikony Material Icons nad oknem dialogowym.
Możesz również dodać element ikony nad oknem dialogowym za pomocą slotu icon.
Tytuł i opis
Ustaw tytuł i opis okna dialogowego za pomocą atrybutów headline i description.
Możesz również ustawić elementy tytułu i opisu za pomocą slotów headline i description.
Przyciski akcji na dole
Możesz dodać przyciski akcji na dole za pomocą slotu action.
Dodanie atrybutu stacked-actions spowoduje ułożenie przycisków akcji na dole w pionie.
Treść na górze
Możesz ustawić treść na górze okna dialogowego za pomocą slotu header.
API
Właściwości
| Atrybut HTML | Właściwość JavaScript | Reflect | Typ | Domyślne |
|---|---|---|---|---|
icon | icon | string | - | |
Nazwa ikony Material Icons u góry. Można również ustawić za pomocą | ||||
headline | headline | string | - | |
Tytuł. Można również ustawić za pomocą | ||||
description | description | string | - | |
Tekst pod tytułem. Można również ustawić za pomocą | ||||
open | open | boolean | false | |
Określa, czy okno dialogowe jest otwarte. | ||||
fullscreen | fullscreen | boolean | false | |
Określa, czy wyświetlić okno dialogowe na pełnym ekranie. | ||||
close-on-esc | closeOnEsc | boolean | false | |
Określa, czy klawisz ESC zamyka okno dialogowe. | ||||
close-on-overlay-click | closeOnOverlayClick | boolean | false | |
Określa, czy kliknięcie nakładki zamyka okno dialogowe. | ||||
stacked-actions | stackedActions | boolean | false | |
Określa, czy przyciski akcji mają być ułożone pionowo. | ||||
Zdarzenia
| Nazwa |
|---|
open |
Wywoływane przed otwarciem okna dialogowego. Można zapobiec otwarciu, wywołując |
opened |
Wywoływane po zakończeniu animacji otwierania okna dialogowego |
close |
Wywoływane przed zamknięciem okna dialogowego. Można zapobiec zamknięciu, wywołując |
closed |
Wywoływane po zakończeniu animacji zamykania okna dialogowego |
overlay-click |
Wywoływane po kliknięciu warstwy nakładki |
Slots
| Nazwa |
|---|
header |
Element u góry, domyślnie zawiera slot |
icon |
Ikona u góry |
headline |
Tytuł u góry |
description |
Tekst pod tytułem |
| (domyślny) |
Główna treść okna dialogowego |
action |
Elementy na pasku akcji na dole |
CSS Parts
| Nazwa |
|---|
overlay |
Warstwa nakładki |
panel |
Kontener okna dialogowego |
header |
Część nagłówkowa okna dialogowego, zawiera ikonę i nagłówek |
icon |
Ikona u góry, znajdująca się w nagłówku |
headline |
Tytuł u góry, znajdujący się w nagłówku |
body |
Część główna okna dialogowego |
description |
Część z tekstem dodatkowym, znajdująca się w części głównej |
action |
Przyciski akcji na dole |
Właściwości niestandardowe CSS
| Nazwa |
|---|
--shape-corner |
Wielkość zaokrąglenia rogów komponentu. Można określić konkretną wartość w pikselach; ale zaleca się odwołanie do tokenów projektowych |
--z-index |
Wartość CSS |