Angular Material is a popular UI framework based on Material Design for Angular.
In this article, we’ll look at how to use Angular Material into our Angular project.
Inputs
We can add inputs with the MatInputModule
.
For example, we can write:
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MatInputModule } from '@angular/material/input';
import { MatFormFieldModule } from '@angular/material/form-field';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
BrowserAnimationsModule,
MatInputModule,
MatFormFieldModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
app.component.html
<div>
<form class="example-form">
<mat-form-field>
<mat-label>Favorite food</mat-label>
<input matInput placeholder="Ex. Pizza" value="Sushi">
</mat-form-field>
<mat-form-field>
<mat-label>Leave a comment</mat-label>
<textarea matInput placeholder="Comment"></textarea>
</mat-form-field>
</form>
</div>
We import the MatFormFieldModule
and the MatInputModule
so we can use the mat-form-fiels
and matInput
directive.
mat-label
has the form label.
List
We can add lists to our Angular app with the MatListModule
.
For example, we can write:
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MatListModule } from '@angular/material/list';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
BrowserAnimationsModule,
MatListModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
app.component.html
<div>
<mat-list>
<mat-list-item>Item 1</mat-list-item>
<mat-list-item>Item 2</mat-list-item>
<mat-list-item>Item 3</mat-list-item>
</mat-list>
</div>
to add the list with the MatListModule
.
The mat-list
has the list.
mat-list-item
has list items.
Menu
We can add a menu with the mat-menu
component.
For example, we can write:
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MatButtonModule } from '@angular/material/button';
import { MatMenuModule } from '@angular/material/menu';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
BrowserAnimationsModule,
MatButtonModule,
MatMenuModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
app.component.html
<div>
<button mat-button [matMenuTriggerFor]="menu">Menu</button>
<mat-menu #menu="matMenu">
<button mat-menu-item>Item 1</button>
<button mat-menu-item>Item 2</button>
</mat-menu>
</div>
We add the MatButtonMoule
for the button trigger the menu.
The MatMenuModule
lets us add the menu.
In the template, we have the button with the matMenuTriggerForm
which has the value set to the menu name.
mat-menu
has the menu. The #
defines the name with the menu.
Conclusion
We can add inputs, lists and menus with Angular Material.