【Angular】Materialのmat-inputを共通化してみた件

当ページのリンクには広告が含まれています。
【Angular】Materialのmat-inputを共通化してみた件
いずみ

こんな悩みを解決できる記事を書きました!

僕は現役フリーランスエンジニア(歴年)で、資格は個保有しています。

Angular Materialのmat-inputを共通化してみたい」とお考えではありませんか?

inputを共通化すれば、CSSやらロジックやらを共通化できるので幸せになれます。

いずみ

とにかく共通化や!

本記事を読めば、Angular Materialのmat-inputを共通化する方法が分かるので早速見ていきましょう!

いずみ

すぐ読み終わるので、ぜひ最後まで読んでくださいませ。

執筆者/監修者
  • フリーランスエンジニア(保有資格個)
  • ブログ・アフィリエイト歴5年
  • ブランドせどりで月利50万円⇨脱サラ
  • 投資歴5年(仮想通貨・FXが得意)
  • Twitterフォロワー約2,000人
  • 運営者情報はこちら
いずみです
目次

前提

  • Angular:14

【Angular】Materialのmat-inputを共通化する方法

早速ですが、Angular Materialのmat-inputを共通化する方法を解説します。

共通inputコンポーネント

import { CommonModule } from '@angular/common';
import { Component, Input } from '@angular/core';
import { FormControl, ReactiveFormsModule } from '@angular/forms';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';

@Component({
  selector: 'app-input',
  standalone: true,
  imports: [CommonModule, MatFormFieldModule, MatInputModule, ReactiveFormsModule],
  template: `
    <mat-form-field [style.width]="width">
      <input matInput [attr.required]="required" [formControl]="control" [placeholder]="placeholder" />
    </mat-form-field>
  `,
})
export class InputComponent {
  @Input() control!: FormControl;
  @Input() placeholder: string;
  @Input() required: boolean = false;
  @Input() width: string;
}

呼び出し元

<!-- サンプル1 -->
<app-input width="400px" [control]="control"></app-input>

<!-- サンプル2(プレースホルダー付き) -->
<app-input placeholder="うんこ" [control]="control" [required]="true"></app-input>
いずみ

これで完璧やで!(謎テンションw)

まとめ

今回は、Angular Materialのmat-inputを共通化する方法を解説しました。

以下が本記事のまとめになります。

まとめ
  • Angular Materialのmat-inputの共通化は超簡単。
  • 共通コンポーネントはスタンドアロンで作成するべし。
まとめ♪
  • おすすめ本
¥4,070 (2023/07/23 15:56時点 | Amazon調べ)

Angularの勉強なら「」が分かりやすくておすすめですよ♪

いずみ

最後までお読みいただき、ありがとうございました!

  • クソおすすめ本
¥4,480 (2024/06/01 23:28時点 | Amazon調べ)
いずみ

海外のエンジニアがどういった思考で働いているかが理解できます。

海外に行く気はないけど海外エンジニアの動向が気になる雑魚エンジニアにおすすめです(本当におすすめな本しか紹介しないのでご安心を)。

【Angular】Materialのmat-inputを共通化してみた件

この記事が気に入ったら
フォローしてね!

シェアしてね!
  • URLをコピーしました!
目次