Angular Bootstrap select

Material Design version

Our Material Select is a beautiful alternative for standard select.

MDB provides you a variety of options and variations.


Basic example MDB Pro component


<div class="row">
    <div class="col-md-6">
        <mdb-select [options]="optionsSelect" placeholder="Choose your option"></mdb-select>
        <label>Example label</label>
    </div>
</div>
	

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'basic-material-select-example',
  templateUrl: 'basic-material-select.html',
})

export class BasicMaterialSelectComponent implements OnInit {

    optionsSelect: Array<any>;
    ngOnInit() {
        this.optionsSelect = [
            { value: '1', label: 'Option 1' },
            { value: '2', label: 'Option 2' },
            { value: '3', label: 'Option 3' },
        ];
    }
}
  

Color variations MDB Pro component


<div class="row">
    <div class="col-md-6">
        <mdb-select [options]="colorSelect" placeholder="Choose your option" class="colorful-select dropdown-primary"></mdb-select>
        <label>Blue select</label>
    </div>
</div>
	

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'color-material-select-example',
  templateUrl: 'color-material-select.html',
})

export class ColorMaterialSelectComponent implements OnInit {

    colorSelect: Array<any>;
    ngOnInit() {
        this.colorSelect = [
            { value: '1', label: 'Option 1' },
            { value: '2', label: 'Option 2' },
            { value: '3', label: 'Option 3' },
            { value: '4', label: 'Option 4' },
            { value: '5', label: 'Option 5' },
        ];
    }
}
  

In order to change a select color use one of the following classes:

1. .dropdown-primary

2. .dropdown-danger

3. .dropdown-default

4. .dropdown-secondary

5. .dropdown-success

6. .dropdown-info

7. .dropdown-warning

8. .dropdown-ins

9. .dropdown-dark


Multiple select MDB Pro component


<div class="row">
    <div class="col-md-6">
        <mdb-select [options]="optionsSelect" [multiple]="true" placeholder="Choose your option"></mdb-select>
        <label>Example label</label>
    </div>
</div>
	

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'multiple-material-select-example',
  templateUrl: 'multiple-material-select.html',
})

export class MultipleMaterialSelectComponent implements OnInit {

    optionsSelect: Array<any>;
    ngOnInit() {
        this.optionsSelect = [
            { value: '1', label: 'Option 1' },
            { value: '2', label: 'Option 2' },
            { value: '3', label: 'Option 3' },
        ];
    }
}
  

Options groups MDB Pro component


<div class="row">
    <div class="col-md-6">
        <mdb-select [options]="groupOptionsSelect" placeholder="Choose your option"></mdb-select>
        <label>Example label</label>
    </div>
</div>
	

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'options-material-select-example',
  templateUrl: 'options-material-select.html',
})

export class OptionsMaterialSelectComponent implements OnInit {

    groupOptionsSelect: Array<any>;
    ngOnInit() {
        this.groupOptionsSelect = [
            { value: '', label: 'team 1', group: true },
            { value: '1', label: 'Option 1' },
            { value: '2', label: 'Option 2' },
            { value: '', label: 'team 2', group: true },
            { value: '3', label: 'Option 3' },
            { value: '4', label: 'Option 4' },
        ];
    }
}
  

Select with icons MDB Pro component


<div class="row">
    <div class="col-md-6">
        <mdb-select [options]="iconsSelect" placeholder="Choose your option"></mdb-select>
        <label>Example label</label>
    </div>
</div>
	

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'icons-material-select-example',
  templateUrl: 'icons-material-select.html',
})

export class IconsMaterialSelectComponent implements OnInit {

    iconsSelect: Array<any>;
    ngOnInit() {
        this.iconsSelect = [
            { value: '1', label: 'Option 1', icon: 'https://mdbootstrap.com/img/Photos/Avatars/avatar-1.jpg' },
            { value: '2', label: 'Option 2', icon: 'https://mdbootstrap.com/img/Photos/Avatars/avatar-2.jpg' },
            { value: '3', label: 'Option 3', icon: 'https://mdbootstrap.com/img/Photos/Avatars/avatar-3.jpg' },
        ];
    }
}
  

Disabled select MDB Pro component

You can make your select unselectable, by adding [disabled]="disabled" to mdb-select.



<div class="row">
    <div class="col-md-6">
        <mdb-select [options]="optionsSelect" [disabled]="disabled" placeholder="Choose your option"></mdb-select>
        <label>Example label</label>
    </div>
    <div class="col-md-6">
        <mdb-select [options]="disOptionsSelect" placeholder="Choose your option"></mdb-select>
        <label>Example label</label>
    </div>
</div>
	

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'disabled-material-select-example',
  templateUrl: 'disabled-material-select.html',
})

export class DisabledMaterialSelectComponent implements OnInit {

    optionsSelect: Array<any>;
    disabled: boolean = true;
    disOptionsSelect: Array<any>;

    ngOnInit() {
        this.optionsSelect = [
            { value: '1', label: 'Option 1' } ,
            { value: '2', label: 'Option 2' } ,
            { value: '3', label: 'Option 3' } ,
        ];
        this.disOptionsSelect = [
            { value: '1', label: 'Disabled option 1', disabled: true },
            { value: '2', label: 'Option 2' } ,
            { value: '3', label: 'Option 3' } ,
        ];
    }
}
  

Browser default select

Just add a .browser-default class to the select tag.



<label>Default Select</label>
<select class="browser-default">
    <option value="" disabled selected>Choose your option</option>
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
</select>
        

Default value in select

Bind in two-way ngModel from component.html with selectedValue in component.ts file



<mdb-select [(ngModel)]="selectedValue" [options]="dateOptionsSelect" placeholder="Choose time period"></mdb-select>
	

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'defaultvalue-material-select-example',
  templateUrl: 'defaultvalue-material-select.html',
})

export class DefaultValueMaterialSelectComponent implements OnInit {

    dateOptionsSelect= [
    { value: '1', label: 'Today', selected: true },
    { value: '2', label: 'Yesterday' },
    { value: '3', label: 'Last 7 days' },
    { value: '4', label: 'Last 30 days' },
    { value: '5', label: 'Last week' },
    { value: '6', label: 'Last month' }
    ];
    selectedValue = '1';
  

Remember to import FormsModule in your's app.module.ts


Configuration options

Here you can find configuration options of Material Select


Name Type Default Description
filterEnabled boolean false If true, filtering options using keyboard in Material Select is enabled
multiple boolean false If true, selecting multiple options is enabled
notFoundMsg string null If set, defines custom not found message.For example: notFoundMsg="Country not found"
highlightColor string null If set, highlight hovered element with background color. For example: highlightColor="yellow" set background color on hover to yellow.
disabled boolean false If true, disable some of select options
customClass string null Adds custom class for labels, for example: customClass="'filled-in'"

API Reference:

In order to speed up your application, you can choose to import only the modules you actually need, instead of importing the entire MDB Angular library. Remember that importing the entire library, and immediately afterwards a specific module, is bad practice, and can cause application errors.

API Reference for MDB Angular Select:
// MDB Angular Pro
import { WavesModule, SelectModule } from 'ng-uikit-pro-standard'
// Angular Animations Module
import { BrowserAnimationsModule } from '@angular/platform-browser/animations'