SelectVýběr
Rozbalovací výběr zobrazuje možnosti v rozbalovací nabídce a usnadňuje rychlý výběr požadované hodnoty.
Tato stránka se zabývá především způsobem použití komponenty <mdui-select>. Podrobnosti o položkách rozbalovací nabídky najdete v <mdui-menu-item>.
Způsob použití
Importujte komponenty podle potřeby:
import 'mdui/components/select.js';
import 'mdui/components/menu-item.js';
Importujte TypeScript typy komponent podle potřeby:
import type { Select } from 'mdui/components/select.js';
import type { MenuItem } from 'mdui/components/menu-item.js';
Příklad použití:
<mdui-select value="item-1">
<mdui-menu-item value="item-1">Položka 1</mdui-menu-item>
<mdui-menu-item value="item-2">Položka 2</mdui-menu-item>
</mdui-select>Podpora více výběru
Ve výchozím nastavení rozbalovací výběr podporuje jen jednu hodnotu. Hodnota value komponenty <mdui-select> je hodnota value aktuálně vybrané komponenty <mdui-menu-item>.
Přidáním atributu multiple zapnete režim vícenásobného výběru. Hodnota value komponenty <mdui-select> je pak pole hodnot value aktuálně vybraných komponent <mdui-menu-item>.
Poznámka: V režimu vícenásobného výběru je hodnota value komponenty <mdui-select> pole a lze ji číst a nastavovat pouze pomocí JavaScript vlastnosti.
Podpůrný text
Pomocí atributu label nastavte text štítku nad rozbalovacím výběrem.
Pomocí atributu placeholder nastavte zástupný text, když není vybrána žádná hodnota.
Pomocí atributu helper nastavte pomocný text ve spodní části rozbalovacího výběru. Lze také použít slot helper k nastavení pomocného textu.
Režim pouze pro čtení
Přidáním atributu readonly nastavíte rozbalovací výběr do režimu pouze pro čtení.
Zakázaný režim
Přidáním atributu disabled zakážete rozbalovací výběr.
Vymazatelné
Po přidání atributu clearable se na pravé straně rozbalovacího výběru, pokud má hodnotu, zobrazí tlačítko pro vymazání.
Lze také přizpůsobit tlačítko pro vymazání pomocí slotu clear.
Umístění rozbalovací nabídky
Pomocí atributu placement můžete nastavit umístění rozbalovací nabídky.
Zarovnání textu vpravo
Přidejte atribut end-aligned pro zarovnání textu vpravo.
Předponový/příponový text a ikona
Nastavením atributů icon a end-icon můžete přidat ikony Material Icons na levou a pravou stranu rozbalovacího výběru. Lze také přidat prvky na levou a pravou stranu rozbalovacího výběru pomocí slotů icon a end-icon.
Nastavením atributů prefix a suffix můžete přidat text na levou i pravou stranu rozbalovacího výběru. Lze také přidat textové prvky na levou a pravou stranu rozbalovacího výběru pomocí slotů prefix a suffix. Tyto texty se zobrazí pouze tehdy, když je rozbalovací výběr zaměřený nebo má hodnotu.
API
Vlastnosti
| Atribut | Vlastnost | Reflect | Typ | Výchozí |
|---|---|---|---|---|
variant | variant | 'filled' | 'outlined' | 'filled' | |
Styl výběru. Možné hodnoty:
| ||||
multiple | multiple | boolean | false | |
Určuje, zda je povolen vícenásobný výběr. | ||||
name | name | string | '' | |
Název výběru, který se odešle spolu s daty formuláře. | ||||
value | value | string | string[] | '' | |
Hodnota výběru, která se odešle spolu s daty formuláře. Pokud není zadán atribut | ||||
defaultValue | string | string[] | '' | ||
Výchozí vybraná hodnota. Při resetování formuláře se hodnota obnoví na tuto výchozí hodnotu. Tuto vlastnost lze nastavit pouze pomocí JavaScriptu. | ||||
label | label | string | - | |
Text popisku. | ||||
placeholder | placeholder | string | - | |
Zástupný text. | ||||
helper | helper | string | - | |
Pomocný text pod výběrem. Lze také nastavit pomocí | ||||
clearable | clearable | boolean | false | |
Určuje, zda lze výběr vyprázdnit. | ||||
clear-icon | clearIcon | string | - | |
Název ikony Material Icons pro tlačítko vymazání zobrazené na pravé straně výběru, pokud je výběr vyprázdnitelný. Lze také nastavit pomocí | ||||
placement | placement | 'auto' | 'bottom' | 'top' | 'auto' | |
Umístění výběru. Možné hodnoty:
| ||||
end-aligned | endAligned | boolean | false | |
Určuje, zda má být text zarovnán doprava. | ||||
prefix | prefix | string | - | |
Text předpony výběru. Zobrazí se pouze v režimu fokusu nebo pokud má výběr hodnotu. Lze také nastavit pomocí | ||||
suffix | suffix | string | - | |
Text přípony výběru. Zobrazí se pouze v režimu fokusu nebo pokud má výběr hodnotu. Lze také nastavit pomocí | ||||
icon | icon | string | - | |
Název ikony z knihovny Material Icons pro předponovou ikonu výběru. Lze také nastavit pomocí | ||||
end-icon | endIcon | string | - | |
Název ikony z knihovny Material Icons pro příponovou ikonu výběru. Lze také nastavit pomocí | ||||
error-icon | errorIcon | string | - | |
Název ikony Material Icons zobrazené na pravé straně výběru, pokud selže validace pole formuláře. Lze také nastavit pomocí | ||||
form | form | string | - | |
Přidružený formulář Pokud není atribut zadán, musí být tento prvek potomkem | ||||
readonly | readonly | boolean | false | |
Určuje, zda je prvek v režimu pouze pro čtení. | ||||
disabled | disabled | boolean | false | |
Určuje, zda je prvek zakázaný. | ||||
required | required | boolean | false | |
Určuje, zda musí být při odesílání formuláře toto pole vyplněno. | ||||
validity | ValidityState | - | ||
Objekt s informacemi o stavu validace formuláře; podrobnosti viz | ||||
validationMessage | string | - | ||
Pokud pole formuláře neprojde validací, tato vlastnost obsahuje chybovou zprávu. Při úspěšné validaci je výsledkem prázdný řetězec. | ||||
autofocus | autofocus | boolean | false | |
Určuje, zda prvek získá automaticky fokus po dokončení načítání stránky. | ||||
tabindex | tabIndex | number | - | |
Pořadí prvku při přepínání fokusu pomocí klávesy Tab. | ||||
Metody
| Název | Parametry | Vrací |
|---|---|---|
checkValidity | boolean | |
Zkontroluje, zda pole formuláře prošlo validací. Pokud ne, vrátí | ||
reportValidity | boolean | |
Zkontroluje, zda pole formuláře prošlo validací. Pokud ne, vrátí Při neúspěšné validaci se zobrazí chybová zpráva. | ||
setCustomValidity |
| void |
Nastaví vlastní chybový text. Dokud tento text není prázdný, znamená to, že pole neprošlo validací. | ||
click | void | |
Simuluje kliknutí myší na prvek. | ||
focus |
| void |
Nastaví fokus na aktuální prvek. Lze předat objekt jako parametr s vlastnostmi:
| ||
blur | void | |
Odebere fokus z aktuálního prvku. | ||
Události
| Název |
|---|
focus |
Spustí se při získání fokusu. |
blur |
Spustí se při ztrátě fokusu. |
change |
Spustí se při změně vybrané hodnoty. |
invalid |
Spustí se, pokud pole formuláře neprojde validací. |
clear |
Spustí se při kliknutí na tlačítko pro vyprázdnění generované atributem |
Slots
| Název |
|---|
| (výchozí) |
Prvky |
icon |
Levá ikona. |
end-icon |
Pravá ikona. |
error-icon |
Pravá ikona pro stav selhání validace. |
prefix |
Levý text. |
suffix |
Pravý text. |
clear-button |
Tlačítko pro vyprázdnění. |
clear-icon |
Ikona v tlačítku pro vyprázdnění. |
helper |
Pomocný text dole. |
CSS Parts
| Název |
|---|
chips |
Kontejner pro umístění chipů odpovídajících vybraným hodnotám při vícenásobném výběru. |
chip |
Chip odpovídající každé vybrané hodnotě při vícenásobném výběru. |
chip__button |
Prvek |
chip__label |
Text uvnitř chipu. |
chip__delete-icon |
Ikona odstranění uvnitř chipu. |
text-field |
Textové pole, tj. prvek |
text-field__container |
Kontejner textového pole uvnitř textového pole. |
text-field__icon |
Levá ikona uvnitř textového pole. |
text-field__end-icon |
Pravá ikona uvnitř textového pole. |
text-field__error-icon |
Pravá ikona pro stav selhání validace uvnitř textového pole. |
text-field__prefix |
Levý text uvnitř textového pole. |
text-field__suffix |
Pravý text uvnitř textového pole. |
text-field__label |
Text popisku uvnitř textového pole. |
text-field__input |
Prvek |
text-field__clear-button |
Tlačítko pro vyprázdnění uvnitř textového pole. |
text-field__clear-icon |
Ikona v tlačítku pro vyprázdnění uvnitř textového pole. |
text-field__supporting |
Kontejner pro pomocné informace dole uvnitř textového pole, zahrnuje helper a error. |
text-field__helper |
Pomocný text dole uvnitř textového pole. |
text-field__error |
Popis chyby dole uvnitř textového pole. |
menu |
Rozbalovací nabídka, tj. prvek |