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:
<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.
Link
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 HTML | Właściwość JavaScript | Reflect | Typ | Domyślne |
|---|---|---|---|---|
full-width | fullWidth | boolean | false | |
Określa, czy wypełnić całą szerokość elementu nadrzędnego. | ||||
selects | selects | 'single' | 'multiple' | - | |
Stan zaznaczalności przycisku segmentowanego, domyślnie niezaznaczalny. Dozwolone wartości:
| ||||
disabled | disabled | boolean | false | |
Określa, czy grupa przycisków segmentowanych jest wyłączona. | ||||
required | required | boolean | false | |
Określa, czy zaznaczenie jest wymagane podczas przesyłania formularza. | ||||
form | form | string | - | |
Powiązany element Jeśli ten atrybut nie jest określony, element ten musi być elementem potomnym elementu | ||||
name | name | string | '' | |
Nazwa wysyłana z formularzem | ||||
value | value | string | string[] | '' | |
Wartość aktualnie zaznaczonego 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 | ||||
defaultValue | string | 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 | ||||
validity | ValidityState | - | ||
Obiekt stanu walidacji formularza, zobacz | ||||
validationMessage | string | - | ||
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
| Nazwa | Parametry | Zwraca |
|---|---|---|
checkValidity | boolean | |
Sprawdza poprawność pola formularza. Jeśli nie, zwraca | ||
reportValidity | boolean | |
Sprawdza poprawność pola formularza. Jeśli nie, zwraca Jeśli walidacja się nie powiedzie, na komponencie wyświetlany jest również komunikat o niepowodzeniu walidacji. | ||
setCustomValidity |
| void |
Ustawia niestandardowy komunikat o błędzie. Dopóki ten tekst nie jest pusty, oznacza to, że pole nie przeszło walidacji | ||
Slots
| Nazwa |
|---|
| (domyślny) |
Komponent |
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 HTML | Właściwość JavaScript | Reflect | Typ | Domyślne |
|---|---|---|---|---|
icon | icon | string | - | |
Nazwa ikony Material Icons po lewej stronie. Można również ustawić za pomocą | ||||
end-icon | endIcon | string | - | |
Nazwa ikony Material Icons po prawej stronie. Można również ustawić za pomocą | ||||
selected-icon | selectedIcon | string | - | |
Nazwa ikony Material Icons dla stanu zaznaczonego. Można również ustawić za pomocą | ||||
href | href | string | - | |
Docelowy adres URL łącza. Jeśli atrybut jest ustawiony, komponent jest renderowany jako element | ||||
download | download | string | - | |
Nazwa pliku do pobrania. Uwaga: Ten atrybut działa tylko wtedy, gdy ustawiono atrybut | ||||
target | target | '_blank' | '_parent' | '_self' | '_top' | - | |
Sposób otwarcia łącza. Dozwolone wartości:
Uwaga: Ten atrybut działa tylko wtedy, gdy ustawiono atrybut | ||||
rel | rel | '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:
Uwaga: Dostępne tylko wtedy, gdy określono atrybut | ||||
autofocus | autofocus | boolean | false | |
Określa, czy element automatycznie uzyskuje fokus po załadowaniu strony. | ||||
tabindex | tabIndex | number | - | |
Określa kolejność elementu podczas nawigacji za pomocą klawiatury (przycisk Tab). | ||||
disabled | disabled | boolean | false | |
Określa, czy komponent jest wyłączony. | ||||
loading | loading | boolean | false | |
Określa, czy komponent jest w stanie ładowania. | ||||
name | name | string | '' | |
Nazwa przycisku, która zostanie wysłana wraz z danymi formularza. Uwaga: Ten atrybut działa tylko wtedy, gdy nie ustawiono atrybutu | ||||
value | value | string | '' | |
Wartość początkowa przycisku, która zostanie wysłana wraz z danymi formularza. Uwaga: Ten atrybut działa tylko wtedy, gdy nie ustawiono atrybutu | ||||
type | type | 'submit' | 'reset' | 'button' | 'button' | |
Typ przycisku. Typ domyślny to
Uwaga: Ten atrybut działa tylko wtedy, gdy nie ustawiono atrybutu | ||||
form | form | string | - | |
Powiązany element Jeśli ten atrybut nie jest określony, element ten musi być elementem potomnym elementu Uwaga: Ten atrybut działa tylko wtedy, gdy nie określono atrybutu | ||||
formaction | formAction | string | - | |
Określa adres URL do przesłania formularza. Jeśli ten atrybut jest określony, zastępuje atrybut Uwaga: Ten atrybut działa tylko wtedy, gdy nie określono atrybutu | ||||
formenctype | formEnctype | '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:
Jeśli ten atrybut jest określony, zastępuje atrybut Uwaga: Ten atrybut działa tylko wtedy, gdy nie określono atrybutu | ||||
formmethod | formMethod | 'post' | 'get' | - | |
Określa metodę HTTP używaną do przesłania formularza. Dozwolone wartości:
Jeśli ten atrybut jest ustawiony, zastępuje atrybut Uwaga: Ten atrybut działa tylko wtedy, gdy nie ustawiono atrybutu | ||||
formnovalidate | formNoValidate | boolean | false | |
Jeśli ten atrybut jest ustawiony, formularz nie jest walidowany podczas wysyłania. Jeśli ten atrybut jest ustawiony, zastępuje atrybut Uwaga: Ten atrybut działa tylko wtedy, gdy nie ustawiono atrybutu | ||||
formtarget | formTarget | '_self' | '_blank' | '_parent' | '_top' | - | |
Określa, gdzie wyświetlić odpowiedź otrzymaną po przesłaniu formularza. Dozwolone wartości:
Jeśli ten atrybut jest ustawiony, zastępuje atrybut Uwaga: Ten atrybut działa tylko wtedy, gdy nie ustawiono atrybutu | ||||
validity | ValidityState | - | ||
Obiekt stanu walidacji formularza, zobacz | ||||
validationMessage | string | - | ||
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
| Nazwa | Parametry | Zwraca |
|---|---|---|
click | void | |
Symuluje kliknięcie myszą na elemencie | ||
focus |
| void |
Przenosi fokus na bieżący element. Można przekazać obiekt jako parametr, którego właściwości obejmują:
| ||
blur | void | |
Usuwa fokus z bieżącego elementu | ||
checkValidity | boolean | |
Sprawdza poprawność pola formularza. Jeśli nie, zwraca | ||
reportValidity | boolean | |
Sprawdza poprawność pola formularza. Jeśli nie, zwraca Jeśli walidacja się nie powiedzie, na komponencie wyświetlany jest również komunikat o niepowodzeniu walidacji. | ||
setCustomValidity |
| void |
Ustawia niestandardowy komunikat o błędzie. Dopóki ten tekst nie jest pusty, oznacza to, że pole nie przeszło 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 |