Formulário
CascadeSelect
Um select para opções aninhadas, uma coluna por nível, que abre cada grupo ao lado do anterior.
Testado com WAI-ARIA
Importação
main.ts
import { CascadeSelect } from '@vitral/vue';Básico
Value: null
Profundidade irregular
Tamanhos e estados
API
Lido de packages/vue/src/components/CascadeSelect/types.ts, então diz o que o componente aceita de fato.
Props
| Nome | Tipo | Descrição |
|---|---|---|
| options | any[] | O nível superior; os grupos guardam o próximo nível num dos campos de `optionGroupChildren`. |
| optionLabel | string | Campo (caminho com pontos) com o texto de uma opção escolhível. |
| optionValue | string | Campo com o valor que o v-model recebe. Sem ele, a opção inteira é o valor. |
| optionDisabled | string | — |
| optionGroupLabel | string | Campo com o texto de um grupo. |
| optionGroupChildren | string | string[] | O campo, ou os campos, um por nível, com os filhos de um grupo. O padrão é `items`. |
| dataKey | string | Compara valores de objeto por este campo em vez de pela estrutura. |
| placeholder | string | — |
| showClear | boolean | — |
| loading | boolean | — |
| emptyMessage | string | — |
| disabled | boolean | — |
| invalid | boolean | — |
| size | Size | — |
| variant | InputVariant | — |
| fluid | boolean | — |
| placement | OverlayPlacement | — |
| appendTo | string | `'body'` (o padrão), `'self'` para renderizar no lugar, ou um seletor. |
Mais pt, dt e unstyled de BaseProps; veja pass-through e modo sem estilo.
Emits
| Evento | Payload | Descrição |
|---|---|---|
| change | event: { originalEvent?: Event; value: unknown } | — |
| group-change | event: { originalEvent?: Event; value: unknown } | — |
| show | — | — |
| hide | — | — |
| focus | event: FocusEvent | — |
| blur | event: FocusEvent | — |
Slots
| Nome | Props do slot | Descrição |
|---|---|---|
| value | (props: { value: unknown; option: unknown; placeholder?: string }) | — |
| option | (props: { option: unknown; level: number; group: boolean; selected: boolean; focused: boolean }) | — |
| empty | — | — |
| dropdownicon | (props: { open: boolean }) | — |
| optiongroupicon | — | — |