ngx-multi-field-dropdown ๐ŸŒŸ

June 13, 2026 ยท View on GitHub

npm version License: MIT Open in StackBlitz

Preview of Luis Tapia angular dropdown 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:


โšก 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:


๐Ÿ“ฆ Installation

To install the library, run the following command in your Angular application directory:

npm install ngx-multi-field-dropdown

๐Ÿ› ๏ธ Quick Usage

  1. 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'];
}
  1. 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.