A dual-listbox for moving items between available and selected panes. Click to highlight (⌘/Ctrl-click for multi), use the transfer buttons, or double-click an item to move it. Integrates with Angular Forms via [(ngModel)] / formControlName.
Unlock it plus 90 pro blocks, widgets & layouts — $99 one-time. Lifetime updates, 14-day money-back guarantee.
Bind [options] to the full catalog and [(ngModel)] to the selected values array.
Available cities
10 items
Selected cities
2 items
Selected: [
"ber",
"lis"
]
Add the filter attribute to show search boxes above each list.
Available
12 items
Picked
0 items
No items
Run the following command to add this component to your project:
npx base-ui-cli add pick-list
For AI agents
Copy a prompt with the registry name, CLI install, and import — or add the Base UI MCP server.
npx -y base-ui-mcp
Base UI provides standalone components. Import the exact elements you want to use into your component.
// Install: npx base-ui-cli add pick-list
// Paths are relative to aliases.components (default: src/app/components)
import { PickListComponent, PickListItem } from './pick-list/pick-list.component';
@Component({
selector: 'app-your-component',
imports: [
PickListComponent
],
template: `...`
})
export class YourComponent {} API for pick-list — generated from JSDoc in the library source.
| API | Member | Type | Default | Description |
|---|---|---|---|---|
PickListItem | label | string | — | Display label. |
PickListItem | value | unknown | — | Value stored in the form control / target list. |
PickListItem | disabled | boolean | — | When true, the item cannot be moved. |
base-pick-list | class | string | '' | Extra host classes merged via `cn()`. |
base-pick-list | options | PickListItem[] | [] | Full option catalog. Selected values are removed from the source pane. |
base-pick-list | sourceHeader | unknown | 'Available' | Header above the available (source) list. |
base-pick-list | targetHeader | unknown | 'Selected' | Header above the selected (target) list. |
base-pick-list | filter | boolean | false | Shows filter inputs above each list. |
base-pick-list | disabled | boolean | false | Disables the entire control (also set by forms via `setDisabledState`). |
base-pick-list | (selectionChange) | unknown[] | — | Emitted whenever the selected values array changes. |
Content