SelectLista wyboru
Lista wyboru wyświetla opcje w rozwijanym menu, ułatwiając szybki wybór odpowiedniej treści.
Ta strona dokumentuje użycie komponentu <mdui-select>. W przypadku użycia elementów menu rozwijanego, zobacz <mdui-menu-item>.
Sposób użycia
Zaimportuj komponenty:
import 'mdui/components/select.js';
import 'mdui/components/menu-item.js';
Zaimportuj typy TypeScript komponentów:
import type { Select } from 'mdui/components/select.js';
import type { MenuItem } from 'mdui/components/menu-item.js';
Przykład użycia:
<mdui-select value="item-1">
<mdui-menu-item value="item-1">Pozycja 1</mdui-menu-item>
<mdui-menu-item value="item-2">Pozycja 2</mdui-menu-item>
</mdui-select>Obsługa wielokrotnego wyboru
Lista wyboru domyślnie umożliwia pojedynczy wybór, a wartość value komponentu <mdui-select> jest wartością value zaznaczonego <mdui-menu-item>.
Dodanie atrybutu multiple umożliwia wielokrotny wybór. Wartość value komponentu <mdui-select> jest wtedy tablicą wartości value zaznaczonych <mdui-menu-item>.
Uwaga: W trybie wielokrotnego wyboru, wartość value komponentu <mdui-select> jest tablicą i może być odczytywana i ustawiana tylko za pomocą właściwości JavaScript.
Tekst pomocniczy
Atrybut label ustawia tekst etykiety nad listą wyboru.
Atrybut placeholder ustawia tekst zastępczy, gdy nie wybrano wartości.
Atrybut helper ustawia tekst pomocniczy na dole listy wyboru. Możesz również użyć slotu helper.
Tryb tylko do odczytu
Dodanie atrybutu readonly ustawia listę wyboru w tryb tylko do odczytu.
Tryb wyłączony
Dodanie atrybutu disabled wyłącza listę wyboru.
Możliwość wyczyszczenia
Dodanie atrybutu clearable powoduje pojawienie się przycisku czyszczenia po prawej stronie, gdy lista wyboru ma wartość.
Możesz również dostosować przycisk czyszczenia za pomocą slotu clear.
Pozycja menu rozwijanego
Atrybut placement ustawia pozycję rozwijanego menu.
Wyrównanie tekstu do prawej
Dodanie atrybutu end-aligned powoduje wyrównanie tekstu do prawej.
Tekst i ikony przed i po
Ustaw atrybuty icon i end-icon, aby dodać ikony Material Icons odpowiednio po lewej i prawej stronie listy wyboru. Możesz również użyć slotów icon i end-icon do dodania elementów.
Ustaw atrybuty prefix i suffix, aby dodać tekst odpowiednio po lewej i prawej stronie listy wyboru. Możesz również użyć slotów prefix i suffix do dodania elementów tekstowych. Te teksty są wyświetlane tylko wtedy, gdy lista wyboru jest skupiona lub ma wartość.
API
Właściwości
| Atrybut HTML | Właściwość JavaScript | Reflect | Typ | Domyślne |
|---|---|---|---|---|
variant | variant | 'filled' | 'outlined' | 'filled' | |
Styl listy wyboru. Dozwolone wartości:
| ||||
multiple | multiple | boolean | false | |
Określa, czy lista wyboru obsługuje wielokrotny wybór. | ||||
name | name | string | '' | |
Nazwa listy wyboru, która zostanie wysłana wraz z danymi formularza | ||||
value | value | string | string[] | '' | |
Wartość listy wyboru, która zostanie wysłana wraz z danymi formularza. Jeśli atrybut | ||||
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 | ||||
label | label | string | - | |
Tekst etykiety | ||||
placeholder | placeholder | string | - | |
Tekst zastępczy | ||||
helper | helper | string | - | |
Tekst pomocniczy pod listą wyboru. Można również ustawić za pomocą | ||||
clearable | clearable | boolean | false | |
Określa, czy można wyczyścić listę wyboru. | ||||
clear-icon | clearIcon | string | - | |
Nazwa ikony Material Icons dla przycisku czyszczenia wyświetlanego po prawej stronie listy wyboru, gdy lista jest możliwa do wyczyszczenia. Można również ustawić za pomocą | ||||
placement | placement | 'auto' | 'bottom' | 'top' | 'auto' | |
Pozycja listy wyboru. Dozwolone wartości:
| ||||
end-aligned | endAligned | boolean | false | |
Określa, czy tekst ma być wyrównany do prawej. | ||||
prefix | prefix | string | - | |
Tekst prefiksu listy wyboru. Wyświetlany tylko w stanie fokusu lub gdy lista wyboru ma wartość. Można również ustawić za pomocą | ||||
suffix | suffix | string | - | |
Tekst sufiksu listy wyboru. Wyświetlany tylko w stanie fokusu lub gdy lista wyboru ma wartość. Można również ustawić za pomocą | ||||
icon | icon | string | - | |
Nazwa ikony Material Icons dla ikony prefiksu listy wyboru. Można również ustawić za pomocą | ||||
end-icon | endIcon | string | - | |
Nazwa ikony Material Icons dla ikony sufiksu listy wyboru. Można również ustawić za pomocą | ||||
error-icon | errorIcon | string | - | |
Nazwa ikony Material Icons wyświetlana po prawej stronie listy wyboru, gdy walidacja pola formularza nie powiedzie się. Można również ustawić za pomocą | ||||
form | form | string | - | |
Powiązany element Jeśli ten atrybut nie jest określony, element ten musi być elementem potomnym elementu | ||||
readonly | readonly | boolean | false | |
Określa, czy jest w stanie tylko do odczytu. | ||||
disabled | disabled | boolean | false | |
Określa, czy lista wyboru jest wyłączona. | ||||
required | required | boolean | false | |
Określa, czy wybranie wartości jest wymagane podczas przesyłania formularza. | ||||
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 | ||||
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). | ||||
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 | ||
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 | ||
Zdarzenia
| Nazwa |
|---|
focus |
Wywoływane po otrzymaniu fokusu |
blur |
Wywoływane po utracie fokusu |
change |
Wywoływane po zmianie zaznaczonej wartości |
invalid |
Wywoływane, gdy pole formularza nie przejdzie walidacji |
clear |
Wywoływane po kliknięciu przycisku czyszczenia generowanego przez atrybut |
Slots
| Nazwa |
|---|
| (domyślny) |
Elementy |
icon |
Ikona po lewej stronie |
end-icon |
Ikona po prawej stronie |
error-icon |
Ikona po prawej stronie w stanie błędu walidacji |
prefix |
Tekst po lewej stronie |
suffix |
Tekst po prawej stronie |
clear-button |
Przycisk czyszczenia |
clear-icon |
Ikona w przycisku czyszczenia |
helper |
Tekst pomocniczy na dole |
CSS Parts
| Nazwa |
|---|
chips |
Kontener na chipy dla zaznaczonych wartości w trybie wielokrotnego wyboru |
chip |
Chip dla każdej zaznaczonej wartości w trybie wielokrotnego wyboru |
chip__button |
Element |
chip__label |
Tekst wewnątrz chipa |
chip__delete-icon |
Ikona usuwania wewnątrz chipa |
text-field |
Pole tekstowe, tj. element |
text-field__container |
Kontener pola tekstowego wewnątrz text-field |
text-field__icon |
Ikona po lewej stronie wewnątrz text-field |
text-field__end-icon |
Ikona po prawej stronie wewnątrz text-field |
text-field__error-icon |
Ikona po prawej stronie w stanie błędu walidacji wewnątrz text-field |
text-field__prefix |
Tekst po lewej stronie wewnątrz text-field |
text-field__suffix |
Tekst po prawej stronie wewnątrz text-field |
text-field__label |
Tekst etykiety wewnątrz text-field |
text-field__input |
Element |
text-field__clear-button |
Przycisk czyszczenia wewnątrz text-field |
text-field__clear-icon |
Ikona w przycisku czyszczenia wewnątrz text-field |
text-field__supporting |
Kontener na dodatkowe informacje na dole wewnątrz text-field, obejmujący helper i error |
text-field__helper |
Tekst pomocniczy na dole wewnątrz text-field |
text-field__error |
Tekst opisu błędu na dole wewnątrz text-field |
menu |
Menu rozwijane, tj. element |