vael-ui v0.3.10

Selection

CascadeSelect

A dropdown for picking a path through nested options, one level at a time.

Install

import { CascadeSelect } from 'vael-ui'

Playground

import { CascadeSelect } from 'vael-ui'

<CascadeSelect placeholder="" :disabled="false" :clearable="false" :invalid="false" size="md" name="" side="bottom" align="start" :sideOffset="8" :alignOffset="0" closeOnEsc closeOnOutside :forceMount="false" scrollFade :items="items">CascadeSelect</CascadeSelect>

Props

NameTypeDefaultDescription
itemsreadonly T[]
placeholderstring | undefinedundefined
disabledboolean | undefinedfalse
clearableboolean | undefinedfalse
invalidboolean | undefinedfalseStandalone override; ORed with the nearest Field's `error` state.
size"md" | "sm" | "lg""md"
namestring | undefinedundefinedRenders a hidden `<input type="hidden">` mirroring the leaf value, for plain `<form>` posts.
side"top" | "right" | "bottom" | "left""bottom"
align"start" | "end" | "center""start"
sideOffsetnumber | undefined8
alignOffsetnumber | undefined0
closeOnEscboolean | undefinedtrue
closeOnOutsideboolean | undefinedtrue
beforeClose((done: () => void) => void) | undefinedundefined
forceMountboolean | undefinedfalse
teleportTostring | HTMLElement | undefined"body"
scrollFadeboolean | undefinedtrue
uiPartial<{ trigger: UiPartValue; value: UiPartValue; positioner: UiPartValue; panel: UiPartValue; header: UiPartValue; footer: UiPartValue; }> | undefinedundefined
modelValuestring | number | null | undefinednull
openboolean | undefinedfalse

Slots

NameTypeDescription
value{ selected: T | null; path: CascadeSelectPath; }Trigger content override — receives the resolved leaf item and its root-to-leaf path.
headeranyAbove the row list — forwarded to the underlying Menu's own `#header`.
item{ item: T; hasChildren: boolean; }Row content override, any level — keeps the row's expand/select behavior.
emptyanyReplaces the localized "no options" row shown when `items` is empty.
footeranyBelow the row list — forwarded to the underlying Menu's own `#footer`.

Events

NameTypeDescription
open-change[value: boolean, details: PopoverOpenChangeDetails]
select[item: T, path: CascadeSelectPath]
change[value: string | number | null]
update:open[value: boolean]
update:modelValue[value: string | number | null]

Exposed

NameTypeDescription
elunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
triggerElunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
panelElunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
positionerElunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
listElunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
isClosingunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
selectedItemunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
selectedPathunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
openunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
closeunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
cancelCloseunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.