Forms
Cascader
A picker that shows nested levels, such as prefecture then city, as side-by-side columns. Choosing an option opens its children in the next column, and the value is the path you land on.
ReactVueWeb Components
View in Storybook Playground
Examples
<Cascader aria-label="地域" options={regions} onChange={setPath} /> Props
| Name | Type | Default | Description |
|---|---|---|---|
options required | CascaderOption[] | — | Root options (with nested `children`). |
value | string[] | — | Controlled selected path of values. |
defaultValue | string[] | — | Initial path when uncontrolled. @default [] |
onChange | (path: string[]) => void | — | Called with the updated path. |
aria-label | string | Cascader | Accessible label for the cascader. @default 'Cascader' |
className | string | — |
Accessibility
- Body/background contrast is ≥ 7:1 (AAA) in both light and dark.
- Every interaction works with the keyboard alone.
- The focus ring is always visible.
- Respects prefers-reduced-motion and stops excessive motion.
Every component is designed to meet WCAG 2.1 AAA.