Vật liệu góc 7 - Đầu vào

Các <mat-input>, một Chỉ thị Angular, được sử dụng cho các phần tử <input> và <textareooter hoạt động theo <mat-form-field>.

Các loại đầu vào sau có thể được sử dụng trong <mat-input>.

  • color
  • date
  • datetime-local
  • email
  • month
  • number
  • password
  • search
  • tel
  • text
  • time
  • url
  • week

Trong chương này, chúng tôi sẽ giới thiệu cấu hình cần thiết để sử dụng điều khiển đầu vào mat trong Angular Material.

Tạo ứng dụng Angular

Làm theo các bước sau để cập nhật ứng dụng Angular mà chúng tôi đã tạo trong Angular 6 - chương Thiết lập dự án -

Bươc Sự miêu tả
1 Tạo một dự án với tên materialApp như được giải thích trong chương Angular 6 - Project Setup .
2 Sửa đổi app.module.ts , app.component.ts , app.component.cssapp.component.html như được giải thích bên dưới. Giữ phần còn lại của các tệp không thay đổi.
3 Biên dịch và chạy ứng dụng để xác minh kết quả của logic được triển khai.

Sau đây là nội dung của bộ mô tả mô-đun đã sửa đổi app.module.ts.

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {MatInputModule} from '@angular/material'
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
@NgModule({
   declarations: [
      AppComponent
   ],
   imports: [
      BrowserModule,
      BrowserAnimationsModule,
      MatInputModule,
      FormsModule,
      ReactiveFormsModule
   ],
   providers: [],
   bootstrap: [AppComponent]
})
export class AppModule { }

Sau đây là nội dung của tệp CSS đã sửa đổi app.component.css.

.tp-form {
   min-width: 150px;
   max-width: 500px;
   width: 100%;
}
.tp-full-width {
   width: 100%;
}

Sau đây là nội dung của tệp ts đã được sửa đổi app.component.ts.

import { Component } from '@angular/core';
import { FormControl } from "@angular/forms";
import {Validators} from '@angular/forms';
@Component({
   selector: 'app-root',
   templateUrl: './app.component.html',
   styleUrls: ['./app.component.css']
})
export class AppComponent {
   title = 'materialApp';
   emailFormControl = new FormControl('', [
      Validators.required,
      Validators.email,
  ]);
}

Sau đây là nội dung của tệp máy chủ HTML đã sửa đổi app.component.html.

<form class = "tp-form">
   <mat-form-field class = "tp-full-width">
      <input matInput placeholder = "Favorite Food" value = "Pasta">
   </mat-form-field>
   <mat-form-field class = "tp-full-width">
      <textarea matInput placeholder = "Enter your comment"></textarea>
   </mat-form-field>
   <mat-form-field class = "tp-full-width">
      <input matInput placeholder = "Email" [formControl] = "emailFormControl">
      <mat-error *ngIf = "emailFormControl.hasError('email') 
         && !emailFormControl.hasError('required')">
         Please enter a valid email address
      </mat-error>
      <mat-error *ngIf = "emailFormControl.hasError('required')">
         Email is <strong>required</strong>
      </mat-error>
   </mat-form-field>
</form>

Kết quả

Xác minh kết quả.

Chi tiết

  • Đầu tiên, chúng tôi đã tạo một trường biểu mẫu bằng cách sử dụng trình bao bọc trường biểu mẫu.

  • Sau đó, một điều khiển biểu mẫu được thêm vào trường biểu mẫu bằng cách sử dụng thuộc tính input và matInput.