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

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:

Pozycja 1 Pozycja 2
<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>

Przykłady

Kształt

Atrybut variant ustawia kształt listy wyboru.

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 HTMLWłaściwość JavaScriptReflectTypDomyślne
variantvariant'filled' | 'outlined''filled'

Styl listy wyboru. Dozwolone wartości:

  • filled: Lista wyboru z kolorem tła, silniejszy efekt wizualny
  • outlined: Lista wyboru z obramowaniem, słabszy efekt wizualny
multiplemultiplebooleanfalse

Określa, czy lista wyboru obsługuje wielokrotny wybór.

namenamestring''

Nazwa listy wyboru, która zostanie wysłana wraz z danymi formularza

valuevaluestring | string[]''

Wartość listy wyboru, która zostanie wysłana wraz z danymi formularza.

Jeśli atrybut multiple nie jest określony, wartością jest ciąg znaków; jeśli atrybut multiple jest określony, wartością jest tablica ciągów znaków. Atrybut HTML może ustawić tylko wartość ciągu znaków; jeśli chcesz ustawić wartość tablicy, ustaw ją za pomocą 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

labellabelstring-

Tekst etykiety

placeholderplaceholderstring-

Tekst zastępczy

helperhelperstring-

Tekst pomocniczy pod listą wyboru. Można również ustawić za pomocą slot="helper"

clearableclearablebooleanfalse

Określa, czy można wyczyścić listę wyboru.

clear-iconclearIconstring-

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ą slot="clear-icon"

placementplacement'auto' | 'bottom' | 'top''auto'

Pozycja listy wyboru. Dozwolone wartości:

  • auto: Automatyczne określenie pozycji
  • bottom: Poniżej
  • top: Powyżej
end-alignedendAlignedbooleanfalse

Określa, czy tekst ma być wyrównany do prawej.

prefixprefixstring-

Tekst prefiksu listy wyboru. Wyświetlany tylko w stanie fokusu lub gdy lista wyboru ma wartość. Można również ustawić za pomocą slot="prefix"

suffixsuffixstring-

Tekst sufiksu listy wyboru. Wyświetlany tylko w stanie fokusu lub gdy lista wyboru ma wartość. Można również ustawić za pomocą slot="suffix"

iconiconstring-

Nazwa ikony Material Icons dla ikony prefiksu listy wyboru. Można również ustawić za pomocą slot="icon"

end-iconendIconstring-

Nazwa ikony Material Icons dla ikony sufiksu listy wyboru. Można również ustawić za pomocą slot="end-icon"

error-iconerrorIconstring-

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ą slot="error-icon"

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>.

readonlyreadonlybooleanfalse

Określa, czy jest w stanie tylko do odczytu.

disableddisabledbooleanfalse

Określa, czy lista wyboru jest wyłączona.

requiredrequiredbooleanfalse

Określa, czy wybranie wartości jest wymagane podczas przesyłania formularza.

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

autofocusautofocusbooleanfalse

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

tabindextabIndexnumber-

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

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

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

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 clearable. Można zapobiec wyczyszczeniu listy wyboru, wywołując event.preventDefault()

Slots

Nazwa
(domyślny)

Elementy <mdui-menu-item>

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 <button> wewnątrz chipa

chip__label

Tekst wewnątrz chipa

chip__delete-icon

Ikona usuwania wewnątrz chipa

text-field

Pole tekstowe, tj. element <mdui-text-field>

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 <input> wewnątrz text-field

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 <mdui-menu>

Na tej stronie