Skip to main content

Select

shadow

Select element rozširuje možnosti štandardného HTML select elementu poskytujúc vylepšenú používateľskú skúsenosť. Podporuje jednoduchý aj viacnásobný výber možností pomocou atribútu multiple. Ponúka rozšírené funkcie ako vymazateľný obsah pomocou atribútu clearable, vyhľadávanie v možnostiach pomocou find a lenivé načítavanie pre optimalizáciu výkonu s atribútom lazy. Pri viacnásobnom výbere možností sa vybrané položky zobrazujú ako chipy s konfigurovateľným maximálnym počtom zobrazených položiek. Komponent tiež podporuje dynamické načítanie možností z externých zdrojov prostredníctvom elementu Options.

Základné použitie

V predvolenom nastavení výber umožňuje používateľovi vybrať len jednu možnosť. Zahrnutím elementu Icon sa pri možnosti zobrazí aj zvolená ikona.

Výber viacerých položiek

Pridaním atribútu multiple umožníte používateľovi vybrať viacero možností.

Clearable

Pridaním atribútu clearable umožníte používateľovi odstrániť všetky zvolené možnosti kliknutím na ikonu .

Disabled

Pridaním atribútu disabled zabránite používateľovi interagovať so Selectom.

Dynamický zoznam možností

Použitím komponentu Options je podporovaný aj dynamicky generovaný zoznam možností, ktorý sa asynchrónne načíta zo zadanej URL adresy. Ak sa nevrátia žiadne možnosti, alebo vyhľadávanie nevráti zhodu, dropdown zobrazí prázdny stav s hláškou Žiadne dáta. Text tejto hlášky sa berie z lokalizačného kľúča wj.select.empty. Ak ho chcete zmeniť v knižnici, upravte príslušný jazykový súbor v packages/translations, napríklad packages/translations/sk-sk.js alebo packages/translations/en-gb.js. Použitý preklad sa vyberá podľa hodnoty lang na komponente alebo nadradenom elemente.

export const skSk = {
// ...
'wj.select.empty': 'Žiadne dáta',
};

Standard

Pridaním atribútu standard sa zobrazí Select v štýle štandardného HTML selectu.

Lazy načítavanie

Pridaním atribútu lazy sa načítajú možnosti len vtedy, keď je to potrebné. To môže byť užitočné pri veľkých množstvách možností alebo pri načítavaní z externých zdrojov.

Find

Pridaním atribútu find sa zobrazí vstupné pole, ktoré umožňuje používateľovi vyhľadávať možnosti v zozname. Používateľ môže zadať text a zoznam sa automaticky filtruje podľa zadaného textu.

Skombinovaním atribútov lazy a find sa načítajú možnosti len vtedy, keď používateľ začne písať do vstupného poľa. To môže byť užitočné pri veľkých množstvách možností alebo pri načítavaní z externých zdrojov.

Kedy použiť

Použite wje-select, keď používateľ zadáva hodnotu, vyberá možnosti alebo vykonáva akciu vo formulári.

Kedy nepoužiť

Nepoužívajte ho len ako vizuálny dekoratívny prvok bez interakcie. V takom prípade uprednostnite prezentačné komponenty.

Prístupnosť

Vždy prepojte komponent s popisom (label/aria-label), zachovajte ovládanie klávesnicou a pri validačných chybách zobrazte zrozumiteľnú správu.

Odporúčané postupy

  • Majte jednotné validačné pravidlá a error stavy naprieč celým formulárom.
  • Pri asynchrónnych operáciách zobrazte stav načítania alebo disabled stav.
  • Pri zložitých formulároch preferujte menšie sekcie a okamžitú spätnú väzbu.

Atribúty a vlastnosti

active

PopisUrčuje, či je výberové menu otvorené.
Atribútactive
Typany
Predvolené-

disabled

PopisVypína používateľskú interakciu s komponentom.
Atribútdisabled
Typboolean
Predvolené-

readonly

PopisZabráni používateľovi upravovať hodnotu.
Atribútreadonly
Typboolean
Predvolené-

Udalosti

NázovPopis
wje-popup:content-readyVyvolá sa pri odoslaní udalosti wje-popup:content-ready.
wje-select:changeVyvolá sa pri zmene hodnoty komponentu.

Metódy

getAllOptions

PopisVráti všetky položky z aktuálneho stavu komponentu.
Signatúra() => NodeList

selectionChanged

PopisSpracuje zmenu výberu a synchronizuje vybrané položky.
Signatúra(options: Array|null, length: number) => void

selections

PopisSpracuje zmenu výberu a synchronizuje vybrané položky.
Signatúra(silence?: boolean) => void

counter

PopisPrepočíta počítadlá používané pri aktuálnom stave výberu.
Signatúra() => void

getChip

PopisVráti čip z aktuálneho stavu komponentu.
Signatúra(option: object) => HTMLElement

htmlOption

PopisVytvorí HTML pre položku možnosti zobrazenú vo výberovom zozname.
Signatúra(item: object, map?: object) => HTMLElement

htmlSelectedItem

PopisVytvorí HTML pre položku zobrazenú vo vybranej hodnote.
Signatúra(item: any) => any

addOption

PopisPridá položku do spravovanej kolekcie komponentu.
Signatúra(optionData: object, silent?: boolean, map?: object) => void

addOptions

PopisPridá položky do spravovanej kolekcie komponentu.
Signatúra(optionsData: Array | object, silent?: boolean, map?: object) => void

selectOption

PopisVyberie položku a aktualizuje aktívny stav.
Signatúra(value: string, silent?: boolean) => void

selectOptions

PopisVyberie položky a aktualizuje aktívny stav.
Signatúra(values: any|any[], silent?: boolean) => void

optionCheckSlot

PopisOverí a aktualizuje obsah slotu možnosti pred vykreslením.
Signatúra(option: HTMLElement) => void

clearSelections

PopisVyčistí výbery a obnoví súvisiace hodnoty.
Signatúra() => void

CSS tieňové časti

Pre tento komponent nie sú dostupné žiadne CSS časti tieňa.

CSS vlastné premenné

Pre tento komponent nie sú dostupné žiadne vlastné CSS vlastnosti.

Sloty

Pre tento komponent nie sú dostupné žiadne sloty.