NgxVirtualSelect

October 11, 2025 ยท View on GitHub

Component to integrate Virtual Select in Angular.

Official Plugin Documentation

Credits: https://github.com/sa-si-dev

Virtual Select GitHub: https://github.com/sa-si-dev/virtual-select

Virtual Select Documentation: https://sa-si-dev.github.io/virtual-select

Prerequisites

Follow official documentation to install it.

npm install --save virtual-select-plugin

Installation

npm install ngx-virtual-select --save

Usage

import { NgxVirtualSelectComponent } from 'ngx-virtual-select';
@Component({
  selector: 'app-root',
  standalone: true,
  imports: [NgxVirtualSelectComponent]
})
<ngx-virtual-select-dvx
  [options]="options"
  [valueKey]="valueKey"
  [labelKey]="labelKey"
  (onChange)="onChange($event)"
/>

Example 1: Using ViewChild

@ViewChild('ngxVirtualSelect') vSelect!: NgxVirtualSelectComponent;

this.vSelect.ref.setValue('123', true);
this.vSelect.ref.disable();
<ngx-virtual-select-dvx
  #ngxVirtualSelect
  [options]="options"
  [valueKey]="valueKey"
  [labelKey]="labelKey"
  (onChange)="onChange($event)"
/>

Example 2: Using QuerySelector

const vSelect = document.querySelector("#ngxVirtualSelect > .vscomp-ele") as any;

vSelect.setValue('123', true);
vSelect.disable();
<ngx-virtual-select-dvx
  id="ngxVirtualSelect"
  [options]="options"
  [valueKey]="valueKey"
  [labelKey]="labelKey"
  (onChange)="onChange($event)"
/>

Example 3: Using Bootstrap

<!-- Import theme css: bs3, bs4 or bs5 -->
<link rel="stylesheet" href="./node_modules/ngx-virtual-select/src/themes/bs4_bs5.theme.css" />

<!-- Add Bootstrap class -->
<ngx-virtual-select-dvx
  class="form-control" 
  [options]="options"
  [valueKey]="valueKey"
  [labelKey]="labelKey"
  (onChange)="onChange($event)"
/>

Properties and Events

PropertyType
dropboxWrapperstring
optionsany[]
valueKeystring
labelKeystring
descriptionKeystring
aliasKeystring
disabledOptionsany[]
multipleboolean
searchboolean
searchByStartsWithboolean
searchGroupboolean
searchNormalizeboolean
disabledboolean
requiredboolean
autofocusboolean
hideClearButtonboolean
autoSelectFirstOptionboolean
hasOptionDescriptionboolean
disableSelectAllboolean
optionsCountnumber
optionHeightstring
positionstring
textDirectionstring
selectedValuestring
silentInitialValueSetboolean
dropboxWidthstring
zIndexnumber
noOfDisplayValuesnumber
allowNewOptionboolean
tooltipFontSizestring
tooltipAlignmentstring
tooltipMaxWidthstring
showSelectedOptionsFirstboolean
focusSelectedOptionOnOpenboolean
markSearchResultsboolean
namestring
keepAlwaysOpenboolean
maxValuesnumber
minValuesnumber
additionalClassesstring
additionalDropboxClassesstring
additionalDropboxContainerClassesstring
additionalToggleButtonClassesstring
showDropboxAsPopupboolean
popupDropboxBreakpointstring
popupPositionstring
onServerSearchFunction
searchDelaynumber
labelRendererFunction
selectedLabelRendererFunction
hideValueTooltipOnSelectAllboolean
showOptionsOnlyOnSearchboolean
selectAllOnlyVisibleboolean
alwaysShowSelectedOptionsCountboolean
alwaysShowSelectedOptionsLabelboolean
disableAllOptionsSelectedTextboolean
showValueAsTagsboolean
disableOptionGroupCheckboxboolean
enableSecureTextboolean
setValueAsArrayboolean
emptyValuestring
disableValidationboolean
useGroupValueboolean
maxWidthstring
updatePositionThrottlenumber
showDurationnumber
hideDurationnumber
------
ariaLabelledbystring
ariaLabelTextstring
ariaLabelTagClearButtonTextstring
ariaLabelSearchClearButtonTextstring
ariaLabelClearButtonTextstring
ariaLabelSelectAllButtonTextstring
placeholderstring
noOptionsTextstring
noSearchResultsTextstring
selectAllTextstring
searchFormLabelstring
searchPlaceholderTextstring
optionsSelectedTextstring
optionSelectedTextstring
allOptionsSelectedTextstring
clearButtonTextstring
moreTextstring
------
onChangeFunction
onBeforeOpenFunction
onAfterOpenFunction
onBeforeCloseFunction
onAfterCloseFunction
onResetFunction
onBeforeRenderFunction
onRenderFunction