ngx-multi-field-dropdown ๐
June 13, 2026 ยท View on GitHub
A customizable, lightweight, and high-performance Angular searchable dropdown component with multi-field search support. Driven by Angular Signals for optimal performance and reactivity.
Demo:
-
Live demo on Render: https://ngx-multi-field-dropdown.onrender.com/ (preview built with Docker, made during this excelent course: http://devopswithdocker.com)
-
Github Pages: https://luismtapiab.github.io/ngx-multi-field-dropdown
-
or in StackBlitz: ๐ Open in StackBlitz Live Editor
โก Features
- ๐ Multi-Field Search: Query items by multiple keys/properties simultaneously.
- ๐ฆ Reactive Core: Built using Angular Signals for modern, high-performance reactivity.
- ๐จ Fully Customizable Styles: Styled with custom CSS variables that are easy to override.
- โจ๏ธ Keyboard Navigation: Designed with accessibility in mind.
- ๐ฆ No Workspaces Required: Completely standalone structures for simple local development and robust packaging.
๐ Repository Structure
This repository contains both the library source code and a clean, fully-functioning example application:
ngx-multi-field-dropdown/: The library source folder.example/: A standalone Angular application demonstrating how to import and use the library.
๐ฆ Installation
To install the library, run the following command in your Angular application directory:
npm install ngx-multi-field-dropdown
๐ ๏ธ Quick Usage
- Import the component in your Angular component:
import { Component } from '@angular/core';
import { MultiFieldDropdownComponent } from 'ngx-multi-field-dropdown';
@Component({
selector: 'app-root',
standalone: true,
imports: [MultiFieldDropdownComponent],
templateUrl: './app.component.html'
})
export class AppComponent {
// Your data list
items = [
{ id: 1, name: 'John Doe', role: 'Developer', dept: 'Engineering' },
{ id: 2, name: 'Jane Smith', role: 'Designer', dept: 'Creative' }
];
// Configure search fields
searchFields = ['name', 'role', 'dept'];
}
- Add it to your HTML:
<ngx-multi-field-dropdown
[items]="items"
[searchFields]="searchFields"
displayField="name"
placeholder="Search by name, role or department..."
(selectionChange)="onSelectionChange($event)">
</ngx-multi-field-dropdown>
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.