Free
Pro

Cascade select

A select that opens the next column when you choose a parent. The form value is the path of values. ply-select-tree is the other shape: one expandable list, one selected node.

Pro

Pro — licensed

Cascade select — part of Ply Pro

Unlock it plus 92 pro blocks, widgets & layouts — $99 one-time. Lifetime updates, 14-day money-back guarantee.

Unlock Pro

Leaf selection

Choosing a parent reveals the next column. Choosing a leaf writes the full path and closes the panel.

Path: []

Select a parent

changeOnSelect writes the path as soon as a parent is chosen. The next column stays open so a leaf can replace it.

Path: []

Installation

bash
npx ply-ui-cli add cascade-select

API Reference

For AI agents

Copy a prompt with the registry name, CLI install, and import — or add the Ply MCP server.

bash
npx -y ply-ui-mcp

Ply provides standalone components. Import the exact elements you want to use into your component.

typescript (Example)
// Install: npx ply-ui-cli add cascade-select
// Paths are relative to aliases.components (default: src/app/components)
import { CascadeNode, CascadeSelectComponent } from './cascade-select/cascade-select.component';

@Component({
  selector: 'app-your-component',
  imports: [
    CascadeSelectComponent
  ],
  template: `...`
})
export class YourComponent {}

API for cascade-select — generated from JSDoc in the library source.

API reference for cascade-select
APIMemberTypeDefaultDescription
CascadeNodelabelstring — Text shown in the column and in the trigger.
CascadeNodevaluestring — Value stored in the path.
CascadeNodechildrenCascadeNode[] — Next column. A node without children is a leaf.
CascadeNodedisabledboolean — When true, the option cannot be chosen.
ply-cascade-selectclassstring''Extra host classes merged via `cn()`.
ply-cascade-selectoptionsCascadeNode[][]Root options. Each `children` array is the next column.
ply-cascade-selectplaceholderunknown'Select…'Placeholder shown when the path is empty.
ply-cascade-selectchangeOnSelectbooleanfalseWhen true, choosing a parent writes that path and keeps the panel open. Leaves always write the path and close the panel.
ply-cascade-selectclearablebooleanfalseShows a clear control when a path is selected.
ply-cascade-selectdisabledbooleanfalseDisables the control. Forms also set this through `setDisabledState`.
ply-cascade-select(selectionChange)string[] | null — Emitted with the value path, or `null` when cleared.