MDUIDocs
Kopiuj link llms.txtKopiuj link llms-full.txtWyświetl tę stronę w formacie MarkdownOmów tę stronę z ChatGPTOmów pełną dokumentację projektu z ChatGPT
Predefiniowany kolor
Własny kolor
Wyodrębnij kolor z tapety
Wybierz tapetę
Pierwsze kroki
Tworzenie wspomagane przez AI
Style
Integracja z frameworkami
Komponenty
Avatar AwatarBadge BadgeBottomAppBar Dolny pasek aplikacjiButton PrzyciskButtonIcon Przycisk z ikonąCard KartaCheckbox CheckboxChip ChipCircularProgress Okrągły wskaźnik postępuCollapse Panel zwijanyDialog Okno dialogoweDivider SeparatorDropdown Lista rozwijanaFab Pływający przycisk akcjiIcon IkonaLayout UkładLinearProgress Liniowy wskaźnik postępuList ListaMenu MenuNavigationBar Pasek nawigacjiNavigationDrawer Wysuwany panel nawigacyjnyNavigationRail Szyna nawigacyjnaRadio Przycisk radiowyRangeSlider Suwak zakresuSelect Lista wyboruSegmentedButton Przycisk segmentowySlider SuwakSnackbar SnackbarSwitch PrzełącznikTabs ZakładkaTextField Pole tekstoweTooltip TooltipTopAppBar Górny pasek aplikacji
Funkcje
Biblioteki

SegmentedButtonPrzycisk segmentowy

Komponent segmentowanego przycisku grupuje zestaw przycisków, służących do wyboru opcji, przełączania widoków lub sortowania elementów.

Sposób użycia

Zaimportuj komponenty:

import 'mdui/components/segmented-button-group.js';
import 'mdui/components/segmented-button.js';

Zaimportuj typy TypeScript komponentów:

import type { SegmentedButtonGroup } from 'mdui/components/segmented-button-group.js';
import type { SegmentedButton } from 'mdui/components/segmented-button.js';

Przykład użycia:

Dzień Tydzień Miesiąc
<mdui-segmented-button-group>
  <mdui-segmented-button>Dzień</mdui-segmented-button>
  <mdui-segmented-button>Tydzień</mdui-segmented-button>
  <mdui-segmented-button>Miesiąc</mdui-segmented-button>
</mdui-segmented-button-group>

Przykłady

Pełna szerokość

Dodanie atrybutu full-width do elementu <mdui-segmented-button-group> powoduje, że komponent zajmuje całą dostępną szerokość.

Tryb pojedynczego wyboru

Ustawienie atrybutu selects na single w elemencie <mdui-segmented-button-group> umożliwia tryb pojedynczego wyboru. Wartość value komponentu <mdui-segmented-button-group> jest wtedy równa wartości value zaznaczonego <mdui-segmented-button>.

Tryb wielokrotnego wyboru

Ustawienie atrybutu selects na multiple w elemencie <mdui-segmented-button-group> umożliwia tryb wielokrotnego wyboru. Wartość value komponentu <mdui-segmented-button-group> jest wtedy tablicą wartości value zaznaczonych <mdui-segmented-button>.

Uwaga: W trybie wielokrotnego wyboru, wartość value komponentu <mdui-segmented-button-group> jest tablicą i może być odczytywana i ustawiana tylko za pomocą właściwości JavaScript.

Ikona

Na elemencie <mdui-segmented-button> możesz użyć atrybutów icon i end-icon, aby dodać ikony Material Icons odpowiednio po lewej i prawej stronie przycisku. Możesz również użyć slotów icon i end-icon do dodania elementów po lewej i prawej stronie.

Na elemencie <mdui-segmented-button> możesz dodać atrybut selected-icon, aby ustawić ikonę Material Icons dla stanu zaznaczonego. Możesz również użyć slotu selected-icon.

Ustawienie atrybutu href na elemencie <mdui-segmented-button> zmienia przycisk w link. Dodatkowo możesz użyć atrybutów związanych z linkami: download, target, rel.

Stan wyłączony i ładowania

Dodanie atrybutu disabled do elementu <mdui-segmented-button-group> wyłącza całą grupę przycisków segmentowanych.

Dodanie atrybutu disabled do elementu <mdui-segmented-button> wyłącza konkretny przycisk; dodanie atrybutu loading dodaje stan ładowania.

mdui-segmented-button-group API

Właściwości

Atrybut HTMLWłaściwość JavaScriptReflectTypDomyślne
full-widthfullWidthbooleanfalse

Określa, czy wypełnić całą szerokość elementu nadrzędnego.

selectsselects'single' | 'multiple'-

Stan zaznaczalności przycisku segmentowanego, domyślnie niezaznaczalny. Dozwolone wartości:

  • single: Pojedynczy wybór
  • multiple: Wielokrotny wybór
disableddisabledbooleanfalse

Określa, czy grupa przycisków segmentowanych jest wyłączona.

requiredrequiredbooleanfalse

Określa, czy zaznaczenie jest wymagane podczas przesyłania formularza.

formformstring-

Powiązany element <form>. Wartość tego atrybutu powinna być id elementu <form> na tej samej stronie.

Jeśli ten atrybut nie jest określony, element ten musi być elementem potomnym elementu <form>. Ten atrybut umożliwia umieszczenie elementu w dowolnym miejscu na stronie, nie tylko jako element potomny elementu <form>.

namenamestring''

Nazwa wysyłana z formularzem

valuevaluestring | string[]''

Wartość aktualnie zaznaczonego <mdui-segmented-button>.

Uwaga: Atrybut HTML tej właściwości jest zawsze ciągiem znaków i można ustawić wartość początkową przez atrybut HTML tylko wtedy, gdy selects="single". Wartość właściwości JavaScript jest ciągiem znaków, gdy selects="single", a tablicą ciągów znaków, gdy selects="multiple". Dlatego, gdy selects="multiple", aby zmienić tę wartość, można to zrobić tylko poprzez modyfikację wartości właściwości JavaScript.

defaultValuestring | string[]''

Domyślnie zaznaczona wartość. Po zresetowaniu formularza zostanie przywrócona do tej wartości. Ten atrybut można ustawić tylko za pomocą właściwości JavaScript

validityValidityState-

Obiekt stanu walidacji formularza, zobacz ValidityState

validationMessagestring-

Jeśli walidacja formularza nie powiedzie się, ten atrybut zawiera komunikat informacyjny. Jeśli walidacja się powiedzie, ten atrybut jest pustym ciągiem znaków

Metody

NazwaParametryZwraca
checkValidity
boolean

Sprawdza poprawność pola formularza. Jeśli nie, zwraca false i wywołuje zdarzenie invalid; jeśli tak, zwraca true

reportValidity
boolean

Sprawdza poprawność pola formularza. Jeśli nie, zwraca false i wywołuje zdarzenie invalid; jeśli tak, zwraca true.

Jeśli walidacja się nie powiedzie, na komponencie wyświetlany jest również komunikat o niepowodzeniu walidacji.

setCustomValidity
  • message: string
void

Ustawia niestandardowy komunikat o błędzie. Dopóki ten tekst nie jest pusty, oznacza to, że pole nie przeszło walidacji

Zdarzenia

Nazwa
change

Wywoływane po zmianie zaznaczonej wartości

invalid

Wywoływane, gdy pole formularza nie przejdzie walidacji

Slots

Nazwa
(domyślny)

Komponent <mdui-segmented-button>

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

mdui-segmented-button API

Właściwości

Atrybut HTMLWłaściwość JavaScriptReflectTypDomyślne
iconiconstring-

Nazwa ikony Material Icons po lewej stronie. Można również ustawić za pomocą slot="icon"

end-iconendIconstring-

Nazwa ikony Material Icons po prawej stronie. Można również ustawić za pomocą slot="end-icon"

selected-iconselectedIconstring-

Nazwa ikony Material Icons dla stanu zaznaczonego. Można również ustawić za pomocą slot="selected-icon"

hrefhrefstring-

Docelowy adres URL łącza.

Jeśli atrybut jest ustawiony, komponent jest renderowany jako element <a>, co umożliwia korzystanie z atrybutów dotyczących łączy.

downloaddownloadstring-

Nazwa pliku do pobrania.

Uwaga: Ten atrybut działa tylko wtedy, gdy ustawiono atrybut href.

targettarget'_blank' | '_parent' | '_self' | '_top'-

Sposób otwarcia łącza. Dozwolone wartości:

  • _blank: Otwiera w nowym oknie
  • _parent: Otwiera w oknie nadrzędnym
  • _self: Otwiera w bieżącej ramce
  • _top: Otwiera w całym oknie

Uwaga: Ten atrybut działa tylko wtedy, gdy ustawiono atrybut href.

relrel'alternate' | 'author' | 'bookmark' | 'external' | 'help' | 'license' | 'me' | 'next' | 'nofollow' | 'noreferrer' | 'opener' | 'prev' | 'search' | 'tag'-

Relacja między bieżącym dokumentem a dokumentem, do którego prowadzi łącze. Dozwolone wartości:

  • alternate: Alternatywna wersja bieżącego dokumentu
  • author: Autor bieżącego dokumentu lub artykułu
  • bookmark: Stałe łącze do najbliższej sekcji nadrzędnej
  • external: Dokument, do którego prowadzi łącze, nie znajduje się w tej samej witrynie co bieżący dokument
  • help: Łącze do powiązanej dokumentacji pomocy
  • license: Główna treść bieżącego dokumentu jest objęta prawami autorskimi dołączonego pliku
  • me: Bieżący dokument reprezentuje właściciela treści, do której prowadzi łącze
  • next: Bieżący dokument jest częścią sekwencji, a dokument, do którego prowadzi łącze, jest następnym dokumentem w tej sekwencji
  • nofollow: Autor lub wydawca bieżącego dokumentu nie rekomenduje dokumentu, do którego prowadzi łącze
  • noreferrer: Pomija nagłówek Referer. Efekt podobny do noopener
  • opener: Jeśli hiperłącze utworzy kontekst przeglądania najwyższego poziomu (tj. wartość atrybutu target to _blank), tworzy podrzędny kontekst przeglądania
  • prev: Bieżący dokument jest częścią sekwencji, a dokument, do którego prowadzi łącze, jest poprzednim dokumentem w tej sekwencji
  • search: Zawiera łącze do zasobu umożliwiającego przeszukiwanie bieżącego pliku i powiązanych z nim stron
  • tag: Zawiera znacznik (identyfikowany przez podany adres) mający zastosowanie do bieżącego dokumentu

Uwaga: Dostępne tylko wtedy, gdy określono atrybut href.

autofocusautofocusbooleanfalse

Określa, czy element automatycznie uzyskuje fokus po załadowaniu strony.

tabindextabIndexnumber-

Określa kolejność elementu podczas nawigacji za pomocą klawiatury (przycisk Tab).

disableddisabledbooleanfalse

Określa, czy komponent jest wyłączony.

loadingloadingbooleanfalse

Określa, czy komponent jest w stanie ładowania.

namenamestring''

Nazwa przycisku, która zostanie wysłana wraz z danymi formularza.

Uwaga: Ten atrybut działa tylko wtedy, gdy nie ustawiono atrybutu href.

valuevaluestring''

Wartość początkowa przycisku, która zostanie wysłana wraz z danymi formularza.

Uwaga: Ten atrybut działa tylko wtedy, gdy nie ustawiono atrybutu href.

typetype'submit' | 'reset' | 'button''button'

Typ przycisku. Typ domyślny to button. Dozwolone typy:

  • submit: Kliknięcie przycisku przesyła dane formularza do serwera
  • reset: Kliknięcie przycisku resetuje wszystkie elementy formularza do ich wartości początkowych
  • button: Ten typ przycisku nie ma domyślnego zachowania

Uwaga: Ten atrybut działa tylko wtedy, gdy nie ustawiono atrybutu href.

formformstring-

Powiązany element <form>. Wartość tego atrybutu powinna być id elementu <form> na tej samej stronie.

Jeśli ten atrybut nie jest określony, element ten musi być elementem potomnym elementu <form>. Ten atrybut umożliwia umieszczenie elementu w dowolnym miejscu na stronie, nie tylko jako element potomny elementu <form>.

Uwaga: Ten atrybut działa tylko wtedy, gdy nie określono atrybutu href.

formactionformActionstring-

Określa adres URL do przesłania formularza.

Jeśli ten atrybut jest określony, zastępuje atrybut action elementu <form>.

Uwaga: Ten atrybut działa tylko wtedy, gdy nie określono atrybutu href i type="submit".

formenctypeformEnctype'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain'-

Określa typ zawartości przesyłanej do serwera podczas wysyłania formularza. Dozwolone wartości:

  • application/x-www-form-urlencoded: Wartość domyślna, gdy atrybut nie jest określony
  • multipart/form-data: Używany, gdy formularz zawiera element <input type="file">
  • text/plain: Nowość w HTML5, używana do debugowania

Jeśli ten atrybut jest określony, zastępuje atrybut enctype elementu <form>.

Uwaga: Ten atrybut działa tylko wtedy, gdy nie określono atrybutu href i type="submit".

formmethodformMethod'post' | 'get'-

Określa metodę HTTP używaną do przesłania formularza. Dozwolone wartości:

  • post: Dane formularza są zawarte w treści formularza i wysyłane do serwera
  • get: Dane formularza są dołączane do adresu URI formularza za pomocą separatora ?, a wygenerowany adres URI jest wysyłany do serwera. Tej metody należy używać, gdy formularz nie powoduje skutków ubocznych i zawiera tylko znaki ASCII

Jeśli ten atrybut jest ustawiony, zastępuje atrybut method elementu <form>.

Uwaga: Ten atrybut działa tylko wtedy, gdy nie ustawiono atrybutu href i type="submit".

formnovalidateformNoValidatebooleanfalse

Jeśli ten atrybut jest ustawiony, formularz nie jest walidowany podczas wysyłania.

Jeśli ten atrybut jest ustawiony, zastępuje atrybut novalidate elementu <form>.

Uwaga: Ten atrybut działa tylko wtedy, gdy nie ustawiono atrybutu href i type="submit".

formtargetformTarget'_self' | '_blank' | '_parent' | '_top'-

Określa, gdzie wyświetlić odpowiedź otrzymaną po przesłaniu formularza. Dozwolone wartości:

  • _self: Otwiera w bieżącej ramce
  • _blank: Otwiera w nowym oknie
  • _parent: Otwiera w oknie nadrzędnym
  • _top: Otwiera w całym oknie

Jeśli ten atrybut jest ustawiony, zastępuje atrybut target elementu <form>.

Uwaga: Ten atrybut działa tylko wtedy, gdy nie ustawiono atrybutu href i type="submit".

validityValidityState-

Obiekt stanu walidacji formularza, zobacz ValidityState

validationMessagestring-

Jeśli walidacja formularza nie powiedzie się, ten atrybut zawiera komunikat informacyjny. Jeśli walidacja się powiedzie, ten atrybut jest pustym ciągiem znaków

Metody

NazwaParametryZwraca
click
void

Symuluje kliknięcie myszą na elemencie

focus
  • options: FocusOptions (Opcjonalny)
void

Przenosi fokus na bieżący element.

Można przekazać obiekt jako parametr, którego właściwości obejmują:

  • preventScroll: Domyślnie, po otrzymaniu fokusu przez element, strona przewinie się, aby go wyświetlić. Aby zapobiec przewijaniu strony, ustaw tę właściwość na true.
blur
void

Usuwa fokus z bieżącego elementu

checkValidity
boolean

Sprawdza poprawność pola formularza. Jeśli nie, zwraca false i wywołuje zdarzenie invalid; jeśli tak, zwraca true

reportValidity
boolean

Sprawdza poprawność pola formularza. Jeśli nie, zwraca false i wywołuje zdarzenie invalid; jeśli tak, zwraca true.

Jeśli walidacja się nie powiedzie, na komponencie wyświetlany jest również komunikat o niepowodzeniu walidacji.

setCustomValidity
  • message: string
void

Ustawia niestandardowy komunikat o błędzie. Dopóki ten tekst nie jest pusty, oznacza to, że pole nie przeszło walidacji

Zdarzenia

Nazwa
focus

Wywoływane po otrzymaniu fokusu

blur

Wywoływane po utracie fokusu

invalid

Wywoływane, gdy pole formularza nie przejdzie walidacji

Slots

Nazwa
(domyślny)

Treść tekstowa elementu przycisku segmentowanego

icon

Ikona po lewej stronie elementu przycisku segmentowanego

selected-icon

Ikona po lewej stronie w stanie zaznaczonym

end-icon

Ikona po prawej stronie elementu przycisku segmentowanego

CSS Parts

Nazwa
button

Wewnętrzny element <button> lub <a>

icon

Ikona po lewej stronie

selected-icon

Ikona po lewej stronie w stanie zaznaczonym

end-icon

Ikona po prawej stronie

label

Treść tekstowa

loading

Element <mdui-circular-progress> w stanie ładowania

Na tej stronie