A quick start to create an Angular 4 DatePicker
A quick start project that helps you to create an Angular 4 DatePicker component with a minimal code configuration.
Angular 4 DatePicker
The following section explains the steps required to create a simple Angular 4 DatePicker component.
Pre-requisites
Make sure that you have the compatible versions of TypeScript and Angular in your machine before starting to work on this project.
- Node.js (latest version)
- Angular 4+
- Angular CLI
- TypeScript 2.6+
- Visual studio code for editor
Introduction
The Angular 4 DatePicker used in this project is created from the Syncfusion ej2-angular-calendars package. You can simply define it as <ejs-datepicker> within the template.
Dependencies
Before starting with this project, the Angular 4 DatePicker requires to add the Syncfusion ej2-angular-calendars 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 given steps.
Install the Angular CLI application in your machine.
npm install @angular/cli@1.4
Now, create a new Angular project by using the command ng new and navigate to that folder.
ng new <project name> cd <project name>
Install the ej2-angular-calendars package through the npm install command.
npm install @syncfusion/ej2-angular-calendars --save
Adding Angular 4 DatePicker
You can add the Angular 4 DatePicker component by using ejs-datepicker directive and the attributes within the tag allows you to define other functionalities.
Import the DatePicker module into the Angular application (app.module.ts) from the ej2-angular-calendars package.
import {BrowserModule} from '@angular/platform-browser'; import {DatePickerModule} from '@syncfusion/ej2-angular-calendars'; import {AppCompnent} from './app.component'; @NgModule({ imports: [BrowserModule, DatePickerModule], declarations: [AppComponent], bootstrap: [ AppComponent] }) exports class AppModule{}
Define the Angular DatePicker code within the app.component.html file mapped against the templateUrl option in app.component.ts file.
Here, the DatePicker component rendered with the min and max property.
[app.component.ts]
import {Component} from '@angular/core'; @Component ({ selector: 'app-root', templateUrl: './app.component.html' }) export class AppComponent { public minDate: Date = new Date ("05/07/2017"); public maxDate: Date = new Date ("05/27/2017"); public value: Date = new Date ("05/16/2017"); constructor () {} }
[app.component.html]
<ejs-datepicker id="datepicker" placeholder='Select a date' [value]='value' [min]='minDate' [max]='maxDate'></ejs-datepicker>
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" />
Run the application with the command ng serve and have a DatePicker with min and max date will be displayed on the browser as shown below.
Screenshot
Also, you can download and run the sample from this GitHub Repository. For more information about DatePicker functionalities, refer UG Documentation, API Reference and Samples section.