We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. (Last updated on: November 16, 2018).
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

How to get started easily with Syncfusion Angular 4 MultiSelect?

Platform: JavaScript - EJ 2 |
Control: MultiSelect |
Published Date: November 27, 2018 |
Last Revised Date: June 12, 2019

A quick start project that helps you to create an Angular 4 MultiSelect Dropdown with a minimal code configuration.

Angular 4 MultiSelect

The following section explains the steps required to create a simple Angular 4 Multiselect component.

Project pre-requisites

Make sure that you have the compatible versions of Angular in your machine before starting to work on this project.

Angular 4 MultiSelect Dropdown – Introduction

The Angular 4 MultiSelect Dropdown used in this project is created from the Syncfusion `ej2-angular-dropdowns ` package. You can simply define it as <ejs-multiselect> within the template.

Dependencies

Before starting with this project, the Angular 4 MultiSelect Dropdown requires to add the Syncfusion `ej2-angular-dropdowns` package from npmjs, which are distributed in npm as @syncfusion scoped packages.

Creating Angular project

To create the Angular project using the Angular CLI tool, follow the steps.

  1. Install the Angular CLI application in your machine.
    npm install @angular/cli@1.4
    
  1. Now create a new Angular project by using the command `ng new` and navigate to that folder.
    ng new <project name>
    cd <project name>
    
  1. Install the ej2-angular-dropdowns package through the npm install command.
    npm install @syncfusion/ej2-angular-dropdowns --save
    

Adding Angular 4 MultiSelect Dropdown

You can add the Angular 4 MultiSelect Dropdown component by using the `ejs-multiselect` directive. The attributes used within this tag allow you to define other MultiSelect Dropdown functionalities. To add the Angular 4 MultiSelect Dropdown, follow the steps:

  1. Import the MultiSelectAllModule into the app.module.ts file from the ej2-angular- dropdowns package.
  2. Import and inject the other required modules within the providers section of app.module.ts.

[app.module.ts]

import { BrowserModule, } from '@angular/platform-browser';
import { MultiSelectAllModule } from '@syncfusion/ej2-angular-dropdowns;
import { NgModule } from '@angular/core';
import { FormsModule }   from '@angular/forms';
import { AppComponent } from './app.component';
 
@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule, FormsModule, MultiSelectAllModule
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

 

  1. Define the Angular MultiSelect Dropdown code within the app.component.html file which is mapped against the templateUrl option in the app.component.ts file.

[app.component.html]

<ejs-MultiSelect></ejs-MultiSelect>

 

  1. Refer to the CDN link of CSS reference within the index.html file.

[index.html]

<link href="https://cdn.syncfusion.com/ej2/material.css" rel="stylesheet" />

 

  1. Run the application with the ng serve command, and an empty MultiSelect Dropdown will be displayed on the browser. Now, you can load the MultiSelect Dropdown with data.

Screenshot

multiselect

Loading data

You can populate the empty MultiSelect Dropdown with data by using the JSON data through the `dataSource` property.

 [app.component.ts]

import { Component } from '@angular/core';
 
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
})
export class AppComponent {
     // define the JSON of data
     public countries: { [key: string]: Object; }[] = [
        { Name: 'Australia', Code: 'AU' },
            { Name: 'Bermuda', Code: 'BM' },
            { Name: 'Canada', Code: 'CA' },
            { Name: 'Cameroon', Code: 'CM' },
            { Name: 'Denmark', Code: 'DK' },
            { Name: 'France', Code: 'FR' },
            { Name: 'Finland', Code: 'FI' },
            { Name: 'Germany', Code: 'DE' },
            
        ];
        // maps the local data column to fields property
        public localFields: Object = { text: 'Name', value: 'Code' };
        // set the placeholder to MultiSelect Dropdown input element
        public localWaterMark: string = 'Select countries';
}

[app.component.html]

<ejs-multiselect id='localData' #local [dataSource]='countries' [fields]='localFields' [placeholder]='localWaterMark'></ejs-multiselect> 

 

Screenshot

multiselect popup

Setting initial select value on MultiSelect Dropdown

You can populate the empty MultiSelect Dropdown with value by binding the string data through the `value` property initially.

 [app.component.ts]

import { Component } from '@angular/core';
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
})
export class AppComponent {
         public value: string[] = ['AU'];
}

 

Now, assign this value to the `value` property of Angular MultiSelect Dropdown within the app.component.html file.

 [app.component.html]

<ejs-multiselect id='localData' #local [dataSource]='countries' [fields]='localFields' [placeholder]='localWaterMark' [value]='value'></ejs-multiselect> 

 

Scrennshot

multiselect selection

Getting the selected value on form submit

By using the ngModel, you can get the value from the ngform submit

[app.component.ts]

import { Component } from '@angular/core';
 
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
})
export class AppComponent {
        onSubmit(form: NgForm): void {
            console.log(form.value.name);
          }
}

[app.component.html]

<form #form='ngForm' (ngSubmit)="onSubmit(form)">
    <div class="form-group"> 
        <ejs-multiselect id='localData' name='name'  #local='ngModel' [(value)]='value'[(ngModel)]='value' [dataSource]='countries' [fields]='localFields' [placeholder]='localWaterMark'></ejs-multiselect>
        <button type="submit" ejs-button>Submit</button>
    </div>
  </form>

 

Run the application with the command ng serve in the command prompt.

You can view the Angular MultiSelect Dropdown output with the data and other settings.

Screenshot

multiselect selections

There are more options to explore with Angular 4 MultiSelect Dropdown and you can also try to play with the downloadable example link in this knowledge base article.

Downloadable example link: Angular 4 MultiSelect Dropdown

 

 

 

 

 

 

 

 

 

 

ADD COMMENT
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon