Install JQuery
npm i -s jquery
Include JQuery in your angular.json
file
"scripts": [
"node_modules/jquery/dist/jquery.js"
],
Install package
npm i -s @smplfrs/angular-select2
Include default styles in your angular.json
file
"styles": [
"node_modules/select2/dist/css/select2.min.css"
],
Import the SmplSelect2Module
in your app module
import { SmplSelect2Module } from '@smplfrs/angular-select2';
...
@NgModule({
...
imports: [
SmplSelect2Module
],
...
})
static-options.component.html
<select smplSelect2 [static]="true">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
dynamic-options.component.html
<select smplSelect2 [dataSource]="dataSource">
</select>
dynamic-options.component.ts
dataSource = {
data: [
{ id: 1, text: 'Option 1' },
{ id: 2, text: 'Option 2' },
{ id: 3, text: 'Option 3' }
]
};
async-data.component.html
<select smplSelect2 [dataSource]="dataSource">
</select>
async-data.component.ts
dataSource = {
ajaxFn: of([
{ id: 1, text: 'Option 1' },
{ id: 2, text: 'Option 2' },
{ id: 3, text: 'Option 3' }
]),
ajaxDelay: 1000
};
Name | Type | Default | Description |
---|---|---|---|
smplSelect2 |
Select2Config | Configuration options for the control. | |
static |
boolean | false | Whether dropdown options should be rendered from html <options> tags. |
dataSource |
Select2DataSource | Dynamic data source for dropdown options when static is set to false . |
|
displayProperty |
string | 'text' | The property of dropdown option object used to display in selection panel. |
valueProperty |
string | 'id' | The property of dropdown option object used as identifier. |
placeholder |
string | '(NONE)' | The placeholder for the control. |
Name | Type | Description |
---|---|---|
select |
Select2Option | Emitted when selection changed. |
See select2 configuration options.
Name | Type | Description |
---|---|---|
data |
any[] | A data array to render dropdown options. |
ajaxFn |
Observable<any[]> | An async data source called when opening the dropdown. |
ajaxDelay |
number | Delay time to execute ajaxFn . |
dataTransformFn |
(data: any[]) => Select2Option[] | Optional custom function to transform raw data into Select2Option. |