Angular Material একটি শক্তিশালী UI লাইব্রেরি, যা অ্যাঙ্গুলার অ্যাপ্লিকেশন তৈরি করার জন্য ম্যাটেরিয়াল ডিজাইন কম্পোনেন্ট সরবরাহ করে। Angular Material এর কম্পোনেন্টগুলো রেসপন্সিভ, কাস্টমাইজযোগ্য, এবং অ্যাক্সেসিবল থাকে, যা অ্যাপ্লিকেশনের ইউজার ইন্টারফেসকে আরও আকর্ষণীয় ও ব্যবহারকারীবান্ধব করে তোলে।
এখানে Angular Material এর বেসিক কিছু কম্পোনেন্টের পরিচিতি দেওয়া হলো:
MatButtonModule ব্যবহার করে Angular Material এ বাটন তৈরি করা হয়। এটি সাধারণ বাটন, রাইজড বাটন, ফ্ল্যাট বাটন ইত্যাদি বিভিন্ন ধরনের বাটন তৈরি করতে সাহায্য করে।
<button mat-button>Basic Button</button>
<button mat-raised-button color="primary">Raised Button</button>
<button mat-flat-button color="accent">Flat Button</button>
import { MatButtonModule } from '@angular/material/button';
@NgModule({
imports: [MatButtonModule],
})
export class AppModule {}
Angular Material এর MatInputModule ব্যবহার করে বিভিন্ন ইনপুট ফিল্ড তৈরি করা যায়। এটি সাধারণ ইনপুট ফিল্ডের পাশাপাশি ফর্ম কন্ট্রোল, ভ্যালিডেশন, এবং ডেটা বাইন্ডিং সাপোর্ট করে।
<mat-form-field>
<mat-label>Enter your name</mat-label>
<input matInput placeholder="Ex. John Doe">
</mat-form-field>
import { MatInputModule } from '@angular/material/input';
@NgModule({
imports: [MatInputModule],
})
export class AppModule {}
MatCardModule ব্যবহার করে কার্ড কম্পোনেন্ট তৈরি করা যায়, যা ইমেজ, টেক্সট, বা অন্যান্য কন্টেন্ট প্রদর্শনের জন্য ব্যবহার করা হয়। এটি একটি কনটেইনার হিসাবে কাজ করে যা বিভিন্ন কন্টেন্ট গুছিয়ে প্রদর্শন করতে সহায়ক।
<mat-card>
<mat-card-header>
<mat-card-title>Card Title</mat-card-title>
<mat-card-subtitle>Card Subtitle</mat-card-subtitle>
</mat-card-header>
<mat-card-content>
<p>This is a simple card.</p>
</mat-card-content>
</mat-card>
import { MatCardModule } from '@angular/material/card';
@NgModule({
imports: [MatCardModule],
})
export class AppModule {}
MatCheckboxModule ব্যবহার করে চেকবক্স তৈরি করা যায়। এটি সাধারণভাবে ফর্মে ব্যবহারকারীর নির্বাচনের জন্য ব্যবহৃত হয়।
<mat-checkbox>Accept terms and conditions</mat-checkbox>
import { MatCheckboxModule } from '@angular/material/checkbox';
@NgModule({
imports: [MatCheckboxModule],
})
export class AppModule {}
MatSelectModule ব্যবহার করে সিলেক্ট ড্রপডাউন তৈরি করা হয়, যা ব্যবহারকারীদের বিভিন্ন অপশন থেকে একটি নির্বাচন করতে দেয়।
<mat-form-field>
<mat-label>Choose a fruit</mat-label>
<mat-select>
<mat-option value="apple">Apple</mat-option>
<mat-option value="banana">Banana</mat-option>
<mat-option value="orange">Orange</mat-option>
</mat-select>
</mat-form-field>
import { MatSelectModule } from '@angular/material/select';
@NgModule({
imports: [MatSelectModule],
})
export class AppModule {}
MatSidenavModule ব্যবহার করে সাইডবার তৈরি করা হয়, যা সাধারণত ন্যাভিগেশন মেনু হিসেবে ব্যবহৃত হয়। এটি ব্যবহারকারীদের একটি পার্শ্ববর্তী মেনু দিয়ে অ্যাপ্লিকেশন নেভিগেট করতে সহায়তা করে।
<mat-sidenav-container>
<mat-sidenav mode="side" opened>Sidenav content</mat-sidenav>
<mat-sidenav-content>Main content</mat-sidenav-content>
</mat-sidenav-container>
import { MatSidenavModule } from '@angular/material/sidenav';
@NgModule({
imports: [MatSidenavModule],
})
export class AppModule {}
MatToolbarModule ব্যবহার করে অ্যাপ্লিকেশনের টুলবার তৈরি করা হয়। এটি সাধারণত অ্যাপ্লিকেশনের শীর্ষে থাকে এবং ইউজার ইন্টারফেসের বিভিন্ন অপশন ও ন্যাভিগেশন প্রদর্শন করতে সাহায্য করে।
<mat-toolbar color="primary">
<span>My Application</span>
</mat-toolbar>
import { MatToolbarModule } from '@angular/material/toolbar';
@NgModule({
imports: [MatToolbarModule],
})
export class AppModule {}
MatDialogModule ব্যবহার করে পপ-আপ ডায়ালগ তৈরি করা হয়। এটি সাধারণত ইন্টারঅ্যাকটিভ পপ-আপ উইন্ডো প্রদর্শন করতে ব্যবহৃত হয়।
import { MatDialog } from '@angular/material/dialog';
@Component({
selector: 'app-dialog-example',
template: '<button mat-button (click)="openDialog()">Open Dialog</button>',
})
export class DialogExampleComponent {
constructor(private dialog: MatDialog) {}
openDialog() {
this.dialog.open(DialogContentExampleDialog);
}
}
import { MatDialogModule } from '@angular/material/dialog';
@NgModule({
imports: [MatDialogModule],
})
export class AppModule {}
Angular Material এর বেসিক কম্পোনেন্টস অ্যাঙ্গুলার অ্যাপ্লিকেশন তৈরি করার সময় গুরুত্বপূর্ণ ভূমিকা পালন করে। এই কম্পোনেন্টগুলো responsive এবং customizable হতে পারে এবং আপনাকে দ্রুত, আধুনিক, এবং ব্যবহারকারী-বান্ধব ইন্টারফেস তৈরি করতে সাহায্য করে। Angular Material এর বিভিন্ন কম্পোনেন্ট যেমন Button, Input, Card, Checkbox, Select, Sidenav, Toolbar, Dialog ইত্যাদি ব্যবহার করে আপনি আপনার অ্যাপ্লিকেশনকে একটি পেশাদার লুক দিতে পারেন।
Angular Material এর Button কম্পোনেন্ট একটি গুরুত্বপূর্ণ UI উপাদান, যা অ্যাঙ্গুলার অ্যাপ্লিকেশনগুলিতে ব্যবহারকারীদের সাথে যোগাযোগের জন্য ব্যবহার করা হয়। Angular Material বাটন কম্পোনেন্টটি ম্যাটেরিয়াল ডিজাইন গাইডলাইন অনুসরণ করে এবং এটি বিভিন্ন ধরনের স্টাইল এবং ফিচার সরবরাহ করে, যেমন raised, flat, stroked, এবং icon buttons। এগুলো অ্যাপ্লিকেশনের ডিজাইন এবং ইন্টারেকশন আরও উন্নত করে।
Angular Material এর বাটন কম্পোনেন্টটির কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য:
Angular Material বাটন ব্যবহার করতে, প্রথমে আপনাকে MatButtonModule ইমপোর্ট করতে হবে। তারপর HTML এ বাটন কম্পোনেন্ট ব্যবহার করা যাবে।
app.module.ts
ফাইলে MatButtonModule ইমপোর্ট করাimport { MatButtonModule } from '@angular/material/button';
@NgModule({
imports: [
MatButtonModule
]
})
export class AppModule { }
<button mat-button>Flat Button</button>
<button mat-raised-button>Raised Button</button>
<button mat-stroked-button>Stroked Button</button>
<button mat-icon-button>
<mat-icon>home</mat-icon>
</button>
<button mat-button color="primary">Primary Button</button>
<button mat-raised-button color="accent">Accent Button</button>
<button mat-button color="warn">Warn Button</button>
ফ্ল্যাট বাটন সাধারণত টেক্সট দিয়ে তৈরি হয় এবং এতে কোন শ্যাডো বা বর্ডার থাকে না।
<button mat-button>Flat Button</button>
Raised button বা উঁচু বাটনে শ্যাডো এবং ভিন্ন রঙের ব্যাকগ্রাউন্ড থাকে। এটি ব্যবহারকারীর কাছে একটি কার্যকরী এবং দৃশ্যমান বাটন হিসাবে উপস্থিত হয়।
<button mat-raised-button>Raised Button</button>
Stroked button একটি আউটলাইন সহ বাটন, যা অন্যান্য বাটনের চেয়ে কিছুটা হালকা দেখায়।
<button mat-stroked-button>Stroked Button</button>
Icon button শুধুমাত্র একটি আইকন দিয়ে তৈরি হয়, এটি সাধারণত অ্যাপ্লিকেশনের বিভিন্ন অ্যাকশন বোতাম হিসেবে ব্যবহৃত হয়।
<button mat-icon-button>
<mat-icon>home</mat-icon>
</button>
Angular Material এর বাটন কম্পোনেন্টে আপনি রঙ পরিবর্তন করতে পারেন, যেমন primary
, accent
, বা warn
।
<button mat-button color="primary">Primary Button</button>
<button mat-raised-button color="accent">Accent Button</button>
<button mat-button color="warn">Warn Button</button>
Angular Material বাটনে ক্লিক ইভেন্ট হ্যান্ডল করতে (click) ডিরেকটিভ ব্যবহার করা হয়।
<button mat-raised-button (click)="onClick()">Click Me</button>
এখানে onClick()
একটি ফাংশন হবে, যা TypeScript ফাইলে ডিফাইন করতে হবে।
export class AppComponent {
onClick() {
console.log('Button Clicked!');
}
}
বাটনটিকে ডিফল্ট অবস্থায় অক্ষম (disabled) করতে, [disabled] প্রোপার্টি ব্যবহার করা হয়।
<button mat-raised-button [disabled]="isDisabled">Disabled Button</button>
এখানে isDisabled
একটি বুলিয়ান ভেরিয়েবল হবে যা TypeScript ফাইলে ডিফাইন করা হবে।
export class AppComponent {
isDisabled = true;
}
Angular Material এর বাটন কম্পোনেন্ট ব্যবহার করা সহজ এবং এটি অ্যাপ্লিকেশনটির UI-তে একটি আধুনিক এবং ইন্টারেকটিভ উপাদান যোগ করে। বিভিন্ন ধরনের বাটন যেমন flat, raised, stroked, এবং icon buttons ব্যবহার করে আপনার অ্যাপ্লিকেশনকে আরও উন্নত এবং ব্যবহারকারীর জন্য সুবিধাজনক করে তোলা সম্ভব। Angular Material এর বাটন কম্পোনেন্টের কাস্টমাইজেশন ফিচার এবং ইভেন্ট হ্যান্ডলিং সিস্টেম ডেভেলপারদের জন্য একটি শক্তিশালী টুল হয়ে দাঁড়ায়।
Angular Material একটি শক্তিশালী UI লাইব্রেরি, যা অনেক ধরনের কাস্টমাইজেবল বাটন সরবরাহ করে। এই বাটনগুলো ম্যাটেরিয়াল ডিজাইনের গাইডলাইন অনুসরণ করে এবং অ্যাপ্লিকেশনের ডিজাইনে উন্নতমানের এবং ব্যবহারকারীর অভিজ্ঞতা উন্নত করার জন্য প্রস্তুত করা হয়েছে। এখানে বিভিন্ন ধরনের বাটন যেমন Basic Button, Raised Button, Icon Button, এবং Floating Action Button (FAB) এর বিস্তারিত ব্যাখ্যা দেয়া হলো।
Basic Button হলো সাদামাটা বাটন যা শুধুমাত্র একটি সাধারণ ক্লিকযোগ্য এলিমেন্ট হিসেবে কাজ করে। এটি কোনো শেড বা উঁচুতা ছাড়া একটি সাধারণ স্টাইলের বাটন।
<button mat-button>Basic Button</button>
Raised Button হলো একটি বাটন যার নিচে একটি শ্যাডো থাকে, ফলে এটি অন্য উপাদানগুলির তুলনায় একটু উঁচুতে থাকে। এই বাটনটি প্রধান অ্যাকশন বাটন হিসেবে ব্যবহৃত হয় এবং এটি ব্যবহারকারীদের নজর আকর্ষণ করতে সহায়তা করে।
<button mat-raised-button>Raised Button</button>
কাস্টম রং সহ রেইজড বাটন:
<button mat-raised-button color="primary">Primary Raised Button</button>
এখানে color="primary"
দিয়ে বাটনের রঙ নির্ধারণ করা হয়েছে।
Icon Button হলো একটি বাটন যা শুধুমাত্র একটি আইকন ধারণ করে। এটি সাধারণত ছোট সাইজের অ্যাকশন বাটন হিসেবে ব্যবহৃত হয়, যেখানে টেক্সটের পরিবর্তে আইকন ব্যবহার করা হয়।
<button mat-icon-button>
<mat-icon>home</mat-icon>
</button>
Floating Action Button (FAB) একটি বিশেষ ধরনের বাটন যা অ্যাপ্লিকেশনের স্ক্রিনের নিচে বা মাঝখানে সাসপেন্ডেড অবস্থায় থাকে এবং সাধারণত একটি প্রধান অ্যাকশন নির্দেশ করে। FAB ব্যবহারকারীকে প্রধান কাজগুলো দ্রুত সম্পাদন করতে সহায়তা করে। এটি সাধারণত একটি গোলাকার বাটন এবং বড় আকারে থাকে।
<button mat-fab color="accent">
<mat-icon>add</mat-icon>
</button>
Mini FAB: ছোট আকারের FAB বাটন তৈরি করতে mat-mini-fab ব্যবহার করা হয়।
<button mat-mini-fab>
<mat-icon>add</mat-icon>
</button>
এটি একটি ছোট আকারের ফ্লোটিং অ্যাকশন বাটন তৈরি করবে।
Angular Material এর বাটনগুলোর সাথে বিভিন্ন ধরনের কাস্টমাইজেশন করা যায়। যেমন:
color
অ্যাট্রিবিউট ব্যবহার করা হয়। Angular Material তিনটি রঙের বিকল্প প্রদান করে: primary, accent, এবং warn।disabled
অ্যাট্রিবিউট ব্যবহার করা হয়।<button mat-raised-button color="primary" [disabled]="isDisabled">Primary Button</button>
এখানে isDisabled
একটি ভ্যারিয়েবল যা যদি true
হয়, তবে বাটনটি নিষ্ক্রিয় থাকবে।
Angular Material এর বিভিন্ন ধরনের বাটন যেমন Basic, Raised, Icon, এবং Floating Action Button (FAB) আপনার অ্যাপ্লিকেশনে একটি আধুনিক, প্রফেশনাল, এবং ইন্টারেক্টিভ ইউজার ইন্টারফেস তৈরি করতে সহায়তা করে। এগুলো ম্যাটেরিয়াল ডিজাইনের গাইডলাইন অনুসরণ করে, এবং সহজেই কাস্টমাইজ করা যায় আপনার প্রয়োজন অনুযায়ী।
Angular Material একটি শক্তিশালী UI লাইব্রেরি যা আপনাকে প্রি-বিল্ট এবং কাস্টমাইজেবল কম্পোনেন্ট প্রদান করে, যার মধ্যে অন্যতম হলো বাটন (Button)। Angular Material এর বাটন কম্পোনেন্ট ব্যবহার করে আপনি রেসপন্সিভ, আকর্ষণীয় এবং ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে সক্ষম হবেন। বাটন কম্পোনেন্টটি বিভিন্ন স্টাইল এবং অবস্থা নিয়ে কাজ করতে পারে, যেমন সাধারণ বাটন, রাইজড বাটন, ফ্ল্যাট বাটন, এবং অবস্থা পরিবর্তন।
Angular Material বাটন কম্পোনেন্টে কিছু পূর্বনির্ধারিত স্টাইল রয়েছে যা আপনার অ্যাপ্লিকেশনের ডিজাইন অনুযায়ী কাস্টমাইজ করা যায়। এর মধ্যে রয়েছে:
mat-button
)এটি Angular Material এর সবচেয়ে সাধারণ বাটন স্টাইল। এটি একটি সহজ বাটন যা কোনও শ্যাডো বা উত্তোলন ছাড়া সরাসরি প্রদর্শিত হয়।
<button mat-button>Click me</button>
mat-raised-button
)এটি একটি উত্তোলিত বাটন যা শ্যাডো সহ প্রদর্শিত হয়, এবং এটি সাধারণত গুরুত্বপূর্ণ অ্যাকশন বোতাম হিসেবে ব্যবহৃত হয়।
<button mat-raised-button>Click me</button>
mat-flat-button
)ফ্ল্যাট বাটন কোনও শ্যাডো বা উত্তোলন ছাড়া সাধারণ বাটন এর মতো কিন্তু এটিতে ব্যাকগ্রাউন্ড এবং বর্ডার সাধারণত রঙিন থাকে।
<button mat-flat-button>Click me</button>
mat-icon-button
)এটি একটি বাটন যা শুধুমাত্র একটি আইকন প্রদর্শন করে। সাধারণত এই বাটনটি ছোট পরিসরে আইকন ব্যবহার করতে ব্যবহৃত হয়।
<button mat-icon-button>
<mat-icon>home</mat-icon>
</button>
mat-button-toggle
)এটি একটি বিশেষ ধরনের বাটন যা টগল স্টাইলের বোতাম হিসেবে কাজ করে, যেখানে বাটন ক্লিক করলে এটি দুটো অবস্থার মধ্যে পরিবর্তন হতে পারে।
<mat-button-toggle-group>
<mat-button-toggle value="left">Left</mat-button-toggle>
<mat-button-toggle value="right">Right</mat-button-toggle>
</mat-button-toggle-group>
Angular Material বাটন বিভিন্ন অবস্থার জন্য বিভিন্ন স্টাইল সমর্থন করে, যেমন disabled, loading, active ইত্যাদি। এগুলি অ্যাপ্লিকেশনের বিভিন্ন কার্যকারিতার উপর ভিত্তি করে ব্যবহার করা যায়।
যদি আপনি কোনও বাটনকে নিষ্ক্রিয় (disabled) করতে চান, তাহলে disabled
অ্যাট্রিবিউট ব্যবহার করতে পারেন।
<button mat-raised-button disabled>Disabled Button</button>
বাটনের উপর একটি লোডিং ইন্ডিকেটর ব্যবহার করতে পারেন। Angular Material এ MatProgressSpinner
ব্যবহার করে লোডিং ইন্ডিকেটর প্রদর্শন করা হয়।
<button mat-raised-button [disabled]="isLoading">
<mat-spinner *ngIf="isLoading" diameter="20"></mat-spinner>
Submit
</button>
এখানে isLoading
একটি boolean ভেরিয়েবল যা আপনার লোডিং স্টেট নিয়ন্ত্রণ করবে।
বাটনটি অ্যাকটিভ অবস্থা চিহ্নিত করতে, অ্যাপ্লিকেশনে কিছু সিএসএস ক্লাস ব্যবহার করতে পারেন।
<button mat-raised-button [class.active]="isActive">
Active Button
</button>
এখানে isActive
একটি boolean ভেরিয়েবল যা বাটনের অ্যাকটিভ স্টেট নির্ধারণ করবে।
Angular Material বাটনের স্টাইল কাস্টমাইজ করা খুব সহজ। আপনি CSS বা SCSS ব্যবহার করে বাটনের আকার, রং, বর্ডার এবং অন্যান্য স্টাইল পরিবর্তন করতে পারেন।
আপনি color
অ্যাট্রিবিউট ব্যবহার করে বাটনের রঙ পরিবর্তন করতে পারেন। Angular Material বাটনে তিনটি প্রাথমিক রঙ সাপোর্ট করে: primary
, accent
, এবং warn
।
<button mat-raised-button color="primary">Primary Button</button>
<button mat-raised-button color="accent">Accent Button</button>
<button mat-raised-button color="warn">Warn Button</button>
আপনি CSS বা SCSS ব্যবহার করে বাটনের স্টাইল কাস্টমাইজ করতে পারেন। উদাহরণস্বরূপ:
button.mat-raised-button {
background-color: #ff4081;
color: white;
}
এটি বাটনের ব্যাকগ্রাউন্ড এবং ফন্ট রঙ পরিবর্তন করবে।
Angular Material বাটন একটি অত্যন্ত শক্তিশালী এবং কাস্টমাইজেবল কম্পোনেন্ট, যা আপনার অ্যাপ্লিকেশনের UI ডিজাইনকে আরও আকর্ষণীয় ও ব্যবহারকারী-বান্ধব করতে সহায়ক। এটি বিভিন্ন স্টাইল এবং অবস্থা (যেমন, সাধারণ বাটন, রাইজড বাটন, ফ্ল্যাট বাটন, আইকন বাটন) সমর্থন করে এবং আপনি সহজেই এর ডিজাইন কাস্টমাইজ করতে পারেন। Disabled, loading, এবং active অবস্থার মতো বিভিন্ন বাটন অবস্থা আপনার অ্যাপ্লিকেশনকে আরও ইন্টারঅ্যাকটিভ এবং কার্যকরী করে তোলে।
Angular Material Checkbox হল একটি প্রি-বিল্ট UI কম্পোনেন্ট যা Angular অ্যাপ্লিকেশনের জন্য অত্যন্ত কার্যকরী এবং কাস্টমাইজযোগ্য। এটি ম্যাটেরিয়াল ডিজাইন গাইডলাইন অনুসরণ করে তৈরি করা হয়েছে এবং ব্যবহারকারীদের বিভিন্ন অপশন নির্বাচন করতে সাহায্য করে। অ্যাঙ্গুলার ম্যাটেরিয়াল চেকবক্সটি সাধারণ HTML চেকবক্সের চেয়ে অনেক বেশি স্টাইলিশ এবং ফিচারসমৃদ্ধ, যা ডেভেলপারদের সহজেই আধুনিক ইউআই তৈরি করতে সাহায্য করে।
ngModel
বা Reactive Forms এর মাধ্যমে ডেটা বাইন্ডিং করা যায়।Angular Material এর চেকবক্স ব্যবহার করতে প্রথমে MatCheckboxModule ইমপোর্ট করতে হবে এবং তারপর HTML ফাইলে এটি ব্যবহার করতে হবে।
প্রথমে, আপনার app.module.ts
ফাইলে MatCheckboxModule ইমপোর্ট করুন:
import { MatCheckboxModule } from '@angular/material/checkbox';
@NgModule({
declarations: [
AppComponent
],
imports: [
MatCheckboxModule, // ইমপোর্ট করুন
],
bootstrap: [AppComponent]
})
export class AppModule { }
এখন আপনি HTML ফাইলে চেকবক্স ব্যবহার করতে পারেন। Angular Material এর চেকবক্সের জন্য mat-checkbox
ডিরেকটিভ ব্যবহার করা হয়।
<mat-checkbox>Agree to terms and conditions</mat-checkbox>
Angular এর ngModel
ব্যবহার করে চেকবক্সের স্টেট ট্র্যাক করতে পারেন (ইউজার যখন চেকবক্স চেক করে তখন ভ্যালু পরিবর্তন হবে)।
<mat-checkbox [(ngModel)]="isChecked">Agree to terms and conditions</mat-checkbox>
এখানে isChecked
হল একটি বুলিয়ান ভ্যারিয়েবল যা চেকবক্সের চেকড স্টেট ট্র্যাক করবে।
আপনি চাইলে চেকবক্সটি ডিসেবলও করতে পারেন।
<mat-checkbox [disabled]="true">Agree to terms and conditions</mat-checkbox>
চেকবক্সকে ডিফল্টভাবে চেকড বা আনচেকড অবস্থায় থাকতে সেট করা যায়।
<mat-checkbox [checked]="true">Agree to terms and conditions</mat-checkbox>
আপনি Angular Material এর চেকবক্সের স্টাইল কাস্টমাইজ করতে পারেন। এটি CSS বা SCSS এর মাধ্যমে করা যায়। কিছু উদাহরণ নিচে দেওয়া হলো:
.mat-checkbox-checked .mat-checkbox-background {
background-color: #4CAF50; /* চেকড রঙ পরিবর্তন */
}
mat-checkbox {
transform: scale(1.5); /* চেকবক্স সাইজ বড় করা */
}
Angular Reactive Forms ব্যবহার করে চেকবক্সের মান ট্র্যাক করা যায়। প্রথমে ReactiveFormsModule ইমপোর্ট করতে হবে এবং তারপর Reactive Form ব্যবহার করা যেতে পারে।
import { ReactiveFormsModule } from '@angular/forms';
@NgModule({
imports: [
ReactiveFormsModule, // ইমপোর্ট করুন
MatCheckboxModule
],
})
export class AppModule { }
এখন চেকবক্সের মান ট্র্যাক করতে FormGroup
এবং FormControl
ব্যবহার করা যেতে পারে:
import { FormGroup, FormControl } from '@angular/forms';
export class AppComponent {
checkboxForm = new FormGroup({
agreeToTerms: new FormControl(false)
});
}
এটি HTML এ এভাবে ব্যবহার করা হবে:
<form [formGroup]="checkboxForm">
<mat-checkbox formControlName="agreeToTerms">Agree to terms and conditions</mat-checkbox>
</form>
indeterminate
স্টেট ব্যবহার করা যেতে পারে, যা চেকবক্সে অস্বীকৃত মান নির্দেশ করে (যেমন, কিছু অপশন চেক করা, কিছু অপশন চেক করা হয়নি)।<mat-checkbox [indeterminate]="true">Some options</mat-checkbox>
Angular Material এর চেকবক্স একটি অত্যন্ত কাস্টমাইজযোগ্য এবং ব্যবহারকারী বান্ধব কম্পোনেন্ট, যা Angular অ্যাপ্লিকেশনগুলিতে দ্রুত এবং আধুনিক ইউআই তৈরি করতে সাহায্য করে। এটি বিভিন্ন ফিচারের সাথে আসে, যেমন চেকড, ডিসেবল, এবং ইনডিটারমিনেট স্টেট, এবং সহজেই ডেটা বাইন্ডিং এবং স্টাইল কাস্টমাইজেশন সাপোর্ট করে।
Angular Material এর মাধ্যমে আপনি সহজে সুন্দর এবং কাস্টমাইজযোগ্য UI কম্পোনেন্ট তৈরি করতে পারেন। এর মধ্যে একটি জনপ্রিয় কম্পোনেন্ট হলো চেকবক্স (Checkbox)। Angular Material এর MatCheckbox
কম্পোনেন্ট ব্যবহার করে আপনি চেকবক্স তৈরি করতে পারেন যা দেখতে আধুনিক এবং ব্যবহারকারীর অভিজ্ঞতা উন্নত করে।
প্রথমে, Angular Material ইনস্টল করতে হবে। যদি আপনি এটি আগে ইনস্টল না করে থাকেন, তবে নিচের কমান্ডটি ব্যবহার করুন:
ng add @angular/material
এটি Angular Material, Angular CDK, এবং Angular Animations ইন্সটল করবে।
চেকবক্স ব্যবহারের জন্য MatCheckboxModule ইমপোর্ট করতে হবে। app.module.ts
ফাইলে এটি ইমপোর্ট করুন:
import { MatCheckboxModule } from '@angular/material/checkbox';
@NgModule({
declarations: [AppComponent],
imports: [
MatCheckboxModule, // MatCheckboxModule ইমপোর্ট করা হয়েছে
// অন্যান্য মডিউলস
],
bootstrap: [AppComponent]
})
export class AppModule { }
এখন আপনি MatCheckbox কম্পোনেন্ট ব্যবহার করে চেকবক্স তৈরি করতে পারেন। নিচে একটি বেসিক চেকবক্সের উদাহরণ দেওয়া হলো:
<mat-checkbox>Accept Terms and Conditions</mat-checkbox>
এটি একটি বেসিক চেকবক্স তৈরি করবে, যেখানে ব্যবহারকারী চেকবক্সে টিক মার্ক দিতে পারবেন।
চেকবক্সের মান (যদি চেকবক্সটি চেক করা হয় বা না হয়) সংগ্রহ করতে আপনি ngModel ব্যবহার করতে পারেন। নিচে একটি উদাহরণ দেওয়া হলো:
<mat-checkbox [(ngModel)]="isChecked">Accept Terms and Conditions</mat-checkbox>
এখানে, isChecked
একটি বুলিয়ান ভেরিয়েবল, যা চেকবক্সটি চেক বা আনচেক হলে আপডেট হবে। এটি টাইপ করা ভেরিয়েবলটির মানের উপর নির্ভর করবে।
export class AppComponent {
isChecked = false; // ডিফল্টভাবে চেকবক্সটি আনচেক করা
}
Angular Material এর মাধ্যমে আপনি চেকবক্সের স্টাইলও কাস্টমাইজ করতে পারেন। যেমন আপনি চেকবক্সের রঙ পরিবর্তন করতে পারেন:
<mat-checkbox color="primary">Accept Terms and Conditions</mat-checkbox>
<mat-checkbox color="accent">Receive Newsletter</mat-checkbox>
<mat-checkbox color="warn">Delete Account</mat-checkbox>
এখানে primary, accent, এবং warn রঙ ব্যবহার করা হয়েছে। Angular Material এর রঙ থিমের মাধ্যমে আপনি এই রঙ পরিবর্তন করতে পারেন।
আপনি চেকবক্সকে ডিসেবল (অচল) করতে চাইলে, disabled
অ্যাট্রিবিউট ব্যবহার করতে পারেন:
<mat-checkbox disabled>Disabled Checkbox</mat-checkbox>
এটি চেকবক্সটি ডিসেবল করে দিবে, এবং ব্যবহারকারী এটি চেক বা আনচেক করতে পারবেন না।
Angular Material এর MatCheckbox
কম্পোনেন্ট খুবই সহজে ব্যবহারযোগ্য এবং এটি অ্যাপ্লিকেশনে আধুনিক, সুন্দর এবং কার্যকরী চেকবক্স তৈরি করতে সহায়ক। আপনি এই কম্পোনেন্টের মাধ্যমে বিভিন্ন কাস্টমাইজেশন যেমন স্টাইল, রঙ, ডেটা বাইন্ডিং, এবং ডিসেবল স্টেট ইত্যাদি করতে পারেন। Angular Material আপনাকে সঠিকভাবে স্টাইল করা এবং ফাংশনাল চেকবক্স তৈরির জন্য প্রয়োজনীয় সমস্ত বৈশিষ্ট্য প্রদান করে।
Angular Material এর মাধ্যমে চেকবক্স গ্রুপিং (Checkbox Grouping) করা একটি সাধারণ প্রক্রিয়া, যেখানে একাধিক চেকবক্সকে একটি নির্দিষ্ট গ্রুপে রাখা হয় এবং ব্যবহারকারী তাদের মধ্যে এক বা একাধিক চেকবক্স নির্বাচন করতে পারেন। Angular Material এর <mat-checkbox>
কম্পোনেন্টের মাধ্যমে চেকবক্স তৈরি করা যায় এবং ngModel
বা FormControl
ব্যবহার করে তাদের ভ্যালু এবং স্টেট (যেমন, চেক করা বা না চেক করা) পরিচালনা করা যায়।
চেকবক্স গ্রুপিং ব্যবহার করার ক্ষেত্রে, আপনি একাধিক চেকবক্সকে একটি FormGroup
এর মধ্যে যুক্ত করতে পারেন। এটি বিশেষভাবে উপকারী যখন আপনি একাধিক চেকবক্সের মান সংগ্রহ করতে চান এবং সমস্ত চেকবক্সের মান একটি নির্দিষ্ট ডাটা মডেলে স্টোর করতে চান।
নিচে চেকবক্স গ্রুপিং করার একটি উদাহরণ দেওয়া হলো:
প্রথমে MatCheckboxModule
আপনার মডিউলে ইমপোর্ট করতে হবে।
import { MatCheckboxModule } from '@angular/material/checkbox';
@NgModule({
imports: [MatCheckboxModule]
})
export class AppModule { }
<form [formGroup]="checkboxGroup">
<mat-checkbox formControlName="option1">Option 1</mat-checkbox>
<mat-checkbox formControlName="option2">Option 2</mat-checkbox>
<mat-checkbox formControlName="option3">Option 3</mat-checkbox>
</form>
এখানে আমরা একটি FormGroup
ব্যবহার করেছি, যেখানে তিনটি চেকবক্স গ্রুপ করা হয়েছে।
প্রথমে আপনার checkboxGroup
নামে একটি FormGroup
তৈরি করতে হবে। FormControl
এর মাধ্যমে প্রতিটি চেকবক্সের মান নিয়ন্ত্রণ করা হবে।
import { Component, OnInit } from '@angular/core';
import { FormGroup, FormControl } from '@angular/forms';
@Component({
selector: 'app-checkbox-group',
templateUrl: './checkbox-group.component.html',
styleUrls: ['./checkbox-group.component.css']
})
export class CheckboxGroupComponent implements OnInit {
checkboxGroup: FormGroup;
ngOnInit() {
this.checkboxGroup = new FormGroup({
option1: new FormControl(false),
option2: new FormControl(false),
option3: new FormControl(false)
});
}
submit() {
console.log(this.checkboxGroup.value);
}
}
এখানে, FormGroup
-এ তিনটি FormControl
যুক্ত করা হয়েছে, যার প্রতিটির মান false
(অর্থাৎ ডিফল্টভাবে চেক করা হয়নি)।
Angular Material চেকবক্সের জন্য ডিফল্ট স্টাইলিং প্রদান করে, তবে আপনি চাইলে CSS ব্যবহার করে এটি কাস্টমাইজ করতে পারেন:
mat-checkbox {
margin: 5px;
}
এটি চেকবক্সের মধ্যে স্পেস যোগ করবে।
ngModel
বা FormControl
ব্যবহার করে চেকবক্সের মান সহজে নিয়ন্ত্রণ করা যায়।Angular Material এর মাধ্যমে চেকবক্স গ্রুপিং করা একটি কার্যকর উপায়, যা ব্যবহারকারীদের একাধিক অপশন নির্বাচন করতে সহায়তা করে। FormGroup
এবং FormControl
ব্যবহার করে আপনি চেকবক্সের মান সংগ্রহ ও পরিচালনা করতে পারেন, এবং Angular Material এর ডিফল্ট স্টাইলিং এর মাধ্যমে একটি আধুনিক UI ডিজাইন করতে পারবেন।
Angular Material এ রেডিও বাটন (Radio Button) একটি জনপ্রিয় এবং ব্যবহারযোগ্য কম্পোনেন্ট, যা ব্যবহারকারীদের একটি নির্দিষ্ট অপশন নির্বাচন করার সুযোগ দেয়। রেডিও বাটন সাধারণত এমন পরিস্থিতিতে ব্যবহার করা হয় যেখানে একাধিক বিকল্পের মধ্যে থেকে একটিই নির্বাচন করতে হয়।
Angular Material এর MatRadioButton কম্পোনেন্টটি ব্যবহার করে রেডিও বাটন সহজেই তৈরি করা যায়। এটি Material Design গাইডলাইন অনুসরণ করে, যা অ্যাপ্লিকেশনগুলিতে আধুনিক এবং সুন্দর UI প্রদান করে।
যদি Angular Material ইতিমধ্যেই ইন্সটল না করা থাকে, তাহলে প্রথমে এটি ইন্সটল করুন:
ng add @angular/material
রেডিও বাটন ব্যবহার করতে MatRadioModule মডিউলটি আপনার app.module.ts ফাইলে ইমপোর্ট করতে হবে:
import { MatRadioModule } from '@angular/material/radio';
@NgModule({
imports: [
MatRadioModule
]
})
export class AppModule { }
এখন MatRadioButton কম্পোনেন্ট ব্যবহার করে রেডিও বাটন তৈরি করা যায়। এখানে একটি সাধারণ উদাহরণ দেয়া হলো:
<mat-radio-group aria-label="Select an option">
<mat-radio-button value="option1">Option 1</mat-radio-button>
<mat-radio-button value="option2">Option 2</mat-radio-button>
<mat-radio-button value="option3">Option 3</mat-radio-button>
</mat-radio-group>
উপরের কোডে, আমরা mat-radio-group ব্যবহার করেছি, যা রেডিও বাটনগুলোর একটি গ্রুপ তৈরি করে এবং ব্যবহারকারীর একটিই নির্বাচন করার অনুমতি দেয়।
Angular এর ngModel ব্যবহার করে আপনি নির্বাচিত মানটি একটি ভেরিয়েবলে সংরক্ষণ করতে পারেন।
<mat-radio-group [(ngModel)]="selectedOption" aria-label="Select an option">
<mat-radio-button value="option1">Option 1</mat-radio-button>
<mat-radio-button value="option2">Option 2</mat-radio-button>
<mat-radio-button value="option3">Option 3</mat-radio-button>
</mat-radio-group>
<p>You selected: {{ selectedOption }}</p>
এখানে, selectedOption
ভেরিয়েবলটি রেডিও বাটনের নির্বাচিত মান ধারণ করে।
আপনি ngModel
এর মাধ্যমে রেডিও বাটন গ্রুপে ডিফল্ট মানও সেট করতে পারেন:
export class AppComponent {
selectedOption: string = 'option2'; // ডিফল্ট নির্বাচিত অপশন
}
এখন, option2
ডিফল্ট হিসেবে নির্বাচিত থাকবে যখন পেজ লোড হবে।
Angular Material এর রেডিও বাটন বেশ কিছু কাস্টমাইজেশন অপশন সরবরাহ করে, যা আপনাকে বাটনের স্টাইল ও আউটপুট কন্ট্রোল করতে সহায়তা করবে।
Angular Material এর রেডিও বাটনগুলো সাধারণত Material Design গাইডলাইন অনুসরণ করে, তবে আপনি চাইলে এটি কাস্টম স্টাইলও করতে পারেন।
mat-radio-button {
color: #ff5722; /* বাটনের রং পরিবর্তন */
}
রেডিও বাটনকে নিষ্ক্রিয় করতে disabled অ্যাট্রিবিউট ব্যবহার করা হয়:
<mat-radio-group aria-label="Select an option">
<mat-radio-button value="option1" disabled>Option 1 (Disabled)</mat-radio-button>
<mat-radio-button value="option2">Option 2</mat-radio-button>
</mat-radio-group>
Angular Material এর রেডিও বাটনে MatRadioButton এর জন্য আপনি চেকবক্সের মতো স্টাইলও কাস্টমাইজ করতে পারেন।
<mat-radio-group aria-label="Select an option" [color]="selectedOption === 'option1' ? 'primary' : 'accent'">
<mat-radio-button value="option1">Option 1</mat-radio-button>
<mat-radio-button value="option2">Option 2</mat-radio-button>
</mat-radio-group>
এখানে color
প্রপার্টি ব্যবহার করে রেডিও বাটনের রঙ পরিবর্তন করা হয়েছে, যা নির্বাচিত অপশনের উপর ভিত্তি করে রঙ পরিবর্তিত হবে।
Angular Material রেডিও বাটন (MatRadioButton) কম্পোনেন্ট অ্যাঙ্গুলার অ্যাপ্লিকেশনগুলির জন্য একটি শক্তিশালী এবং সহজে ব্যবহারযোগ্য উপাদান। এটি Material Design অনুসরণ করে একটি আধুনিক ও সুন্দর UI তৈরি করতে সাহায্য করে এবং mat-radio-group ব্যবহার করে একাধিক অপশনের মধ্যে থেকে একটি নির্বাচন করা যায়। আপনি ngModel ব্যবহার করে নির্বাচিত মান সংগ্রহ করতে পারেন এবং থিম বা কাস্টম স্টাইলিংয়ের মাধ্যমে রেডিও বাটনকে আপনার অ্যাপ্লিকেশনের ডিজাইনের সাথে মানানসই করতে পারেন।
Angular Material এর MatRadioButton একটি অত্যন্ত জনপ্রিয় এবং ব্যবহারযোগ্য রেডিও বাটন কম্পোনেন্ট। এটি Material Design-এর গাইডলাইন অনুসরণ করে তৈরি করা হয়েছে এবং ডেভেলপারদের জন্য বিভিন্ন কাস্টমাইজেশন অপশন প্রদান করে। রেডিও বাটন ব্যবহারকারীদের মধ্যে থেকে একটি নির্দিষ্ট বিকল্প নির্বাচন করতে সহায়ক।
Angular Material এর MatRadioButton কম্পোনেন্টের সাহায্যে আপনি সহজেই সুন্দর এবং আধুনিক রেডিও বাটন তৈরি করতে পারেন।
প্রথমে Angular Material ইন্সটল করা থাকতে হবে। যদি এটি এখনও ইন্সটল না করে থাকেন, তবে নিম্নলিখিত কমান্ডটি ব্যবহার করে Angular Material ইন্সটল করুন:
ng add @angular/material
এছাড়া, MatRadioModule ব্যবহার করতে হবে, যা রেডিও বাটনের কম্পোনেন্ট সরবরাহ করে। MatRadioModule আপনার app.module.ts
ফাইলে ইমপোর্ট করতে হবে।
import { MatRadioModule } from '@angular/material/radio';
@NgModule({
imports: [
MatRadioModule
]
})
export class AppModule { }
এখন আপনি MatRadioButton
কম্পোনেন্ট ব্যবহার করে HTML ফাইলে রেডিও বাটন তৈরি করতে পারবেন। নিচে একটি উদাহরণ দেওয়া হলো:
<mat-radio-group aria-label="Select an option">
<mat-radio-button value="option1">Option 1</mat-radio-button>
<mat-radio-button value="option2">Option 2</mat-radio-button>
<mat-radio-button value="option3">Option 3</mat-radio-button>
</mat-radio-group>
এখানে, <mat-radio-group>
ট্যাগটি রেডিও বাটনের গ্রুপ তৈরি করবে, এবং প্রতিটি <mat-radio-button>
একটি পৃথক রেডিও বাটন তৈরি করবে। গ্রুপের মধ্যে শুধুমাত্র একটি বাটন নির্বাচন করা সম্ভব হবে, কারণ রেডিও বাটনগুলি একে অপরকে এক্সক্লুসিভলি নির্বাচন করতে সাহায্য করে।
আপনি যদি রেডিও বাটনের সিলেক্টেড ভ্যালুকে টাইপস্ক্রিপ্টে ব্যবহার করতে চান, তবে [(ngModel)]
ব্যবহার করে রেডিও বাটনের মান বাউন্ড করতে পারেন।
<mat-radio-group [(ngModel)]="selectedOption" aria-label="Select an option">
<mat-radio-button value="option1">Option 1</mat-radio-button>
<mat-radio-button value="option2">Option 2</mat-radio-button>
<mat-radio-button value="option3">Option 3</mat-radio-button>
</mat-radio-group>
এখানে, selectedOption
একটি টাইপস্ক্রিপ্ট ভ্যারিয়েবল যা সিলেক্ট করা অপশনটি ধারণ করবে।
import { Component } from '@angular/core';
@Component({
selector: 'app-radio-button',
templateUrl: './radio-button.component.html',
})
export class RadioButtonComponent {
selectedOption: string = 'option1'; // ডিফল্ট সিলেক্টেড অপশন
}
এখানে, selectedOption
হল ডিফল্ট মান, এবং ব্যবহারকারী যদি অন্য কোনো অপশন নির্বাচন করে, তা পরিবর্তিত হবে।
আপনি সহজেই একটি ডিফল্ট রেডিও বাটন সিলেক্ট করতে পারেন। যেমন:
<mat-radio-group [(ngModel)]="selectedOption" aria-label="Select an option">
<mat-radio-button value="option1" checked>Option 1</mat-radio-button>
<mat-radio-button value="option2">Option 2</mat-radio-button>
<mat-radio-button value="option3">Option 3</mat-radio-button>
</mat-radio-group>
এখানে, checked
অ্যাট্রিবিউট ব্যবহার করে আপনি প্রথম রেডিও বাটনটি ডিফল্ট হিসেবে সিলেক্ট করতে পারেন।
আপনি রেডিও বাটনটি ডিসেবল (অক্ষম) করতে চাইলে disabled
অ্যাট্রিবিউট ব্যবহার করতে পারেন।
<mat-radio-group [(ngModel)]="selectedOption" aria-label="Select an option">
<mat-radio-button value="option1">Option 1</mat-radio-button>
<mat-radio-button value="option2" disabled>Option 2 (Disabled)</mat-radio-button>
<mat-radio-button value="option3">Option 3</mat-radio-button>
</mat-radio-group>
এখানে, "Option 2" রেডিও বাটনটি ডিসেবল করা হয়েছে, যা ব্যবহারকারী নির্বাচন করতে পারবেন না।
আপনি CSS ব্যবহার করে রেডিও বাটনের স্টাইলও কাস্টমাইজ করতে পারেন। উদাহরণস্বরূপ:
mat-radio-button {
font-size: 16px;
color: #6200ea;
}
এটি রেডিও বাটনের ফন্ট সাইজ এবং রঙ পরিবর্তন করবে।
Angular Material এর MatRadioButton কম্পোনেন্ট খুবই সহজ এবং ব্যবহারযোগ্য, যা অ্যাপ্লিকেশনগুলিতে একটি সুন্দর এবং আধুনিক রেডিও বাটন তৈরি করতে সাহায্য করে। আপনি [(ngModel)]
ব্যবহার করে সিলেক্ট করা অপশন টাইপস্ক্রিপ্টে বাউন্ড করতে পারেন এবং রেডিও বাটনগুলির কাস্টমাইজেশন অপশন ব্যবহার করে আপনার UI কে আরও আকর্ষণীয় এবং ব্যবহারকারী-বান্ধব করতে পারেন।
Angular Material এ রেডিও বাটন একটি জনপ্রিয় ইনপুট কম্পোনেন্ট, যা ব্যবহারকারীদের একটি নির্দিষ্ট বিকল্প নির্বাচন করতে সাহায্য করে। mat-radio-button
কম্পোনেন্ট ব্যবহার করে অ্যাঙ্গুলার অ্যাপ্লিকেশনে রেডিও বাটন তৈরি করা যায়। গ্রুপ করা রেডিও বাটন ব্যবহারকারীদের জন্য অনেকটা একটি নির্দিষ্ট সেট থেকে একটি অপশন নির্বাচন করার সুবিধা দেয়।
অ্যাঙ্গুলার ম্যাটেরিয়াল এর মাধ্যমে রেডিও বাটনগুলো গ্রুপ করা খুবই সহজ এবং এটি mat-radio-group
এর মাধ্যমে করা হয়। এই গ্রুপের মধ্যে একাধিক রেডিও বাটন থাকতে পারে, তবে ব্যবহারকারী একসাথে একটির বেশি রেডিও বাটন সিলেক্ট করতে পারবে না।
প্রথমে, আপনাকে MatRadioModule
মডিউলটি আপনার অ্যাপ্লিকেশনে ইমপোর্ট করতে হবে। এটি app.module.ts
ফাইলে করা যায়।
import { MatRadioModule } from '@angular/material/radio';
@NgModule({
imports: [
MatRadioModule
]
})
export class AppModule { }
mat-radio-group
কম্পোনেন্ট ব্যবহার করে রেডিও বাটনগুলো গ্রুপ করা হয়। এর মধ্যে বিভিন্ন mat-radio-button
উপাদান থাকবে এবং একবারে একটি রেডিও বাটন সিলেক্ট করা যাবে।
<mat-radio-group aria-label="Select an option" [(ngModel)]="selectedValue">
<mat-radio-button value="option1">Option 1</mat-radio-button>
<mat-radio-button value="option2">Option 2</mat-radio-button>
<mat-radio-button value="option3">Option 3</mat-radio-button>
</mat-radio-group>
এখানে ngModel
ব্যবহার করা হয়েছে, যা ব্যবহারকারী যে অপশনটি সিলেক্ট করবে, তার মান ধরে রাখে। এই ভ্যালুটা selectedValue
নামে একটি প্রপার্টি হয়ে থাকবে, যা TypeScript ফাইলে ডিফাইন করা হবে।
এখন, TypeScript ফাইলে selectedValue
ডিফাইন করুন যা আপনার সিলেক্ট করা রেডিও বাটনের মান ধারণ করবে।
import { Component } from '@angular/core';
@Component({
selector: 'app-radio-button-example',
templateUrl: './radio-button-example.component.html',
styleUrls: ['./radio-button-example.component.css']
})
export class RadioButtonExampleComponent {
selectedValue: string = 'option1'; // ডিফল্ট মান
}
এখন, selectedValue
প্রপার্টি mat-radio-group
এর মধ্যে সিলেক্ট করা অপশনের মান ধারণ করবে।
আপনি চাইলে CSS ব্যবহার করে রেডিও বাটনের স্টাইল কাস্টমাইজ করতে পারেন। এটি অ্যাপ্লিকেশনের ডিজাইন উন্নত করতে সাহায্য করবে।
mat-radio-button {
margin-bottom: 10px;
}
disabled
: আপনি রেডিও বাটনগুলো ডিজেবল করতে পারেন, যাতে ব্যবহারকারী সেগুলো নির্বাচন করতে না পারে।<mat-radio-group aria-label="Select an option" [(ngModel)]="selectedValue">
<mat-radio-button value="option1">Option 1</mat-radio-button>
<mat-radio-button value="option2" disabled>Option 2</mat-radio-button>
</mat-radio-group>
name
: একাধিক রেডিও বাটনের জন্য একে অপরকে গ্রুপ করার জন্য name
অ্যাট্রিবিউট ব্যবহার করা যেতে পারে। এটি শুধুমাত্র একবারে একটি বিকল্প নির্বাচন করতে সহায়ক হবে।<mat-radio-group name="group1" [(ngModel)]="selectedValue">
<mat-radio-button value="option1">Option 1</mat-radio-button>
<mat-radio-button value="option2">Option 2</mat-radio-button>
</mat-radio-group>
aria-label
: অ্যাক্সেসিবিলিটি সুনিশ্চিত করতে aria-label
ব্যবহার করতে পারেন, যাতে স্ক্রীন রিডার ব্যবহারকারীরা বুঝতে পারেন যে এটি একটি রেডিও বাটন গ্রুপ।<mat-radio-group aria-label="Choose a color" [(ngModel)]="selectedColor">
<mat-radio-button value="red">Red</mat-radio-button>
<mat-radio-button value="green">Green</mat-radio-button>
<mat-radio-button value="blue">Blue</mat-radio-button>
</mat-radio-group>
Angular Material এর রেডিও বাটন গ্রুপ ব্যবহার করা খুবই সহজ এবং এটি আপনাকে ইউজারের কাছ থেকে একটি নির্দিষ্ট পছন্দ নেওয়ার জন্য একটি সহজ উপায় দেয়। mat-radio-group
এবং mat-radio-button
কম্পোনেন্টের মাধ্যমে আপনি একাধিক রেডিও বাটনকে গ্রুপ করে একটি সেট থেকে একমাত্র একটি অপশন নির্বাচন করতে পারবেন। Angular এর ngModel
ডিরেকটিভ ব্যবহার করে আপনি এই নির্বাচিত মানটি অ্যাপ্লিকেশনে ধারণ করতে পারবেন, যা অ্যাপ্লিকেশনের বিভিন্ন অংশে ব্যবহার করা যাবে।
Angular Material Select কম্পোনেন্ট একটি ড্রপডাউন সিলেক্ট মেনু যা ব্যবহারকারীদের নির্দিষ্ট অপশন থেকে একটি মান নির্বাচন করতে দেয়। এটি Material Design এর একটি অংশ এবং এটি MatSelect কম্পোনেন্টের মাধ্যমে তৈরি করা হয়। MatSelect একটি ফ্লেক্সিবল সিলেক্ট কম্পোনেন্ট যা বিভিন্ন অপশন প্রদর্শন করতে পারে এবং তা সহজেই কাস্টমাইজ করা যায়।
MatSelect কম্পোনেন্ট সাধারণত ব্যবহারকারীর জন্য একটি তালিকা বা ড্রপডাউন মেনু তৈরি করতে ব্যবহৃত হয়, যেখানে তারা এক বা একাধিক অপশন সিলেক্ট করতে পারে। এটি একটি উন্নত সিলেক্ট UI প্রদান করে, যা ইন্টারেক্টিভ এবং ব্যবহারকারী-বান্ধব হয়।
<mat-form-field appearance="fill">
<mat-label>Choose an option</mat-label>
<mat-select [(value)]="selectedOption">
<mat-option value="option1">Option 1</mat-option>
<mat-option value="option2">Option 2</mat-option>
<mat-option value="option3">Option 3</mat-option>
</mat-select>
</mat-form-field>
এখানে, MatSelect কম্পোনেন্টের মধ্যে mat-option কম্পোনেন্ট ব্যবহৃত হয়েছে, যার মাধ্যমে বিভিন্ন অপশন যোগ করা হয়েছে। ব্যবহারকারী যেকোনো একটি অপশন নির্বাচন করতে পারে, এবং তার মান selectedOption ভেরিয়েবলে সংরক্ষিত হবে।
যদি আপনি ব্যবহারকারীদের একাধিক অপশন নির্বাচন করার সুযোগ দিতে চান, তাহলে multiple
অ্যাট্রিবিউট ব্যবহার করতে পারেন।
<mat-form-field appearance="fill">
<mat-label>Choose options</mat-label>
<mat-select [(value)]="selectedOptions" multiple>
<mat-option value="option1">Option 1</mat-option>
<mat-option value="option2">Option 2</mat-option>
<mat-option value="option3">Option 3</mat-option>
</mat-select>
</mat-form-field>
এখানে, multiple
অ্যাট্রিবিউট যোগ করার মাধ্যমে ব্যবহারকারী একাধিক অপশন সিলেক্ট করতে পারবে। নির্বাচিত মানগুলি selectedOptions ভেরিয়েবলে সংরক্ষিত হবে।
আপনি ডিফল্ট মান নির্বাচন করতে ngModel বা [(value)] ব্যবহার করতে পারেন।
<mat-form-field appearance="fill">
<mat-label>Choose an option</mat-label>
<mat-select [(value)]="selectedOption">
<mat-option value="option1">Option 1</mat-option>
<mat-option value="option2">Option 2</mat-option>
<mat-option value="option3">Option 3</mat-option>
</mat-select>
</mat-form-field>
এখানে, selectedOption ভেরিয়েবলে আপনি একটি ডিফল্ট মান সেট করে দিতে পারেন, যেমন:
export class MyComponent {
selectedOption = 'option2'; // Default selection
}
আপনি যদি কোনও অপশনকে নিষ্ক্রিয় করতে চান, তাহলে disabled
অ্যাট্রিবিউট ব্যবহার করতে পারেন।
<mat-form-field appearance="fill">
<mat-label>Choose an option</mat-label>
<mat-select [(value)]="selectedOption">
<mat-option value="option1">Option 1</mat-option>
<mat-option value="option2" disabled>Option 2 (Disabled)</mat-option>
<mat-option value="option3">Option 3</mat-option>
</mat-select>
</mat-form-field>
এখানে, Option 2 নিষ্ক্রিয় করা হয়েছে এবং এটি ব্যবহারকারী সিলেক্ট করতে পারবে না।
আপনি MatSelect কে সার্চযোগ্য করতে চাইলে, Angular Material এর সাথে mat-autocomplete ব্যবহার করতে পারেন। এর মাধ্যমে ব্যবহারকারী একটি ইনপুট ফিল্ডে টাইপ করে দ্রুত একটি অপশন খুঁজে পেতে পারে।
<mat-form-field appearance="fill">
<mat-label>Choose an option</mat-label>
<mat-select [(value)]="selectedOption">
<mat-option *ngFor="let option of options" [value]="option">{{option}}</mat-option>
</mat-select>
</mat-form-field>
এখানে, options একটি অ্যারে হবে যা আপনার অপশনগুলো ধারণ করবে। এই অ্যারে থেকে ডাইনামিকভাবে অপশনগুলি তৈরি করা হবে।
MatSelect এবং mat-option কম্পোনেন্টের স্টাইল কাস্টমাইজ করা যায় CSS বা SCSS ব্যবহার করে। উদাহরণস্বরূপ:
.mat-select-trigger {
color: #FF5733;
}
.mat-option:hover {
background-color: #e0f7fa;
}
Angular Material সিলেক্ট কম্পোনেন্ট ইতিমধ্যেই এন্টার/ট্যাব কী সাপোর্ট করে, কিন্তু আপনি যদি এটি কাস্টমাইজ করতে চান, তাহলে কীবোর্ড ইভেন্ট হ্যান্ডলার ব্যবহার করতে পারেন।
<mat-select (keydown.enter)="onSelect()" [(value)]="selectedOption">
<mat-option value="option1">Option 1</mat-option>
<mat-option value="option2">Option 2</mat-option>
</mat-select>
এখানে, keydown.enter ইভেন্টের মাধ্যমে আপনি বিশেষ কোনো অ্যাকশন ট্রিগার করতে পারেন।
Angular Material এর MatSelect কম্পোনেন্ট একটি শক্তিশালী এবং ব্যবহারকারী-বান্ধব সিলেক্ট মেনু তৈরি করতে সাহায্য করে, যা Material Design অনুসরণ করে। এটি বিভিন্ন কনফিগারেশন এবং কাস্টমাইজেশন অপশন প্রদান করে, যেমন একাধিক অপশন সিলেকশন, ডিসেবল অপশন, ডিফল্ট মান এবং সার্চ ফিচার। Angular Material সিলেক্ট কম্পোনেন্ট ব্যবহার করে আপনি খুব সহজেই একটি উন্নত এবং রেসপন্সিভ ড্রপডাউন মেনু তৈরি করতে পারবেন যা আপনার অ্যাপ্লিকেশনের ব্যবহারকারীর অভিজ্ঞতা উন্নত করবে।
Angular Material Select কম্পোনেন্টটি একটি ড্রপডাউন সিলেক্ট লিস্ট তৈরির জন্য ব্যবহৃত হয়। এটি ব্যবহারকারীদের কাছে একটি পরিষ্কার এবং স্বচ্ছল ইন্টারফেসে বিভিন্ন অপশন সিলেক্ট করার সুযোগ দেয়। Angular Material Select কম্পোনেন্টটি সাধারণ HTML সিলেক্ট ট্যাগের মতো কাজ করে তবে এটি আরও আধুনিক এবং উন্নত ডিজাইন ও ফিচার সরবরাহ করে, যেমন ইমেজ সহ অপশন, মাল্টিপল সিলেকশন, এবং কাস্টমাইজড লেবেল ইত্যাদি।
প্রথমে, MatSelectModule
মডিউলটি app.module.ts
ফাইলে ইমপোর্ট করতে হবে।
import { MatSelectModule } from '@angular/material/select';
@NgModule({
imports: [
MatSelectModule
]
})
export class AppModule { }
এখন, আপনার HTML ফাইলে mat-select
ট্যাগ ব্যবহার করে সিলেক্ট ড্রপডাউন তৈরি করতে হবে। এর মধ্যে mat-option
ট্যাগ ব্যবহার করে অপশনগুলো নির্ধারণ করতে হবে।
<mat-form-field appearance="fill">
<mat-label>Choose an option</mat-label>
<mat-select>
<mat-option value="option1">Option 1</mat-option>
<mat-option value="option2">Option 2</mat-option>
<mat-option value="option3">Option 3</mat-option>
</mat-select>
</mat-form-field>
mat-form-field
: এটি একটি Angular Material ফর্ম ফিল্ড, যা সিলেক্টের লেবেল এবং আউটপুট স্টাইল কাস্টমাইজ করতে সাহায্য করে।mat-label
: সিলেক্ট ফিল্ডের লেবেল হিসেবে কাজ করে।mat-select
: এটি মূল সিলেক্ট কম্পোনেন্ট।mat-option
: সিলেক্ট অপশনগুলো নির্ধারণ করতে ব্যবহৃত হয়।যদি আপনি Angular Reactive Forms বা Template-driven Forms ব্যবহার করতে চান, তবে FormControl
ব্যবহার করতে হবে।
import { FormControl } from '@angular/forms';
export class AppComponent {
selectedOption = new FormControl('');
}
<mat-form-field appearance="fill">
<mat-label>Choose an option</mat-label>
<mat-select [formControl]="selectedOption">
<mat-option value="option1">Option 1</mat-option>
<mat-option value="option2">Option 2</mat-option>
<mat-option value="option3">Option 3</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field appearance="fill">
<mat-label>Choose an option</mat-label>
<mat-select [(ngModel)]="selectedOption">
<mat-option value="option1">Option 1</mat-option>
<mat-option value="option2">Option 2</mat-option>
<mat-option value="option3">Option 3</mat-option>
</mat-select>
</mat-form-field>
Angular Material Select এ আপনি ডাইনামিক অপশনও যোগ করতে পারেন। উদাহরণস্বরূপ, আপনি একটি লিস্ট বা অ্যারে থেকে অপশনগুলো লোড করতে পারেন।
export class AppComponent {
options = ['Option 1', 'Option 2', 'Option 3'];
}
<mat-form-field appearance="fill">
<mat-label>Choose an option</mat-label>
<mat-select [(ngModel)]="selectedOption">
<mat-option *ngFor="let option of options" [value]="option">{{ option }}</mat-option>
</mat-select>
</mat-form-field>
Material Select কম্পোনেন্টটি একাধিক অপশন সিলেক্ট করতে সমর্থন করে। এর জন্য multiple
অ্যাট্রিবিউট ব্যবহার করতে হয়।
<mat-form-field appearance="fill">
<mat-label>Choose options</mat-label>
<mat-select multiple [(ngModel)]="selectedOptions">
<mat-option value="option1">Option 1</mat-option>
<mat-option value="option2">Option 2</mat-option>
<mat-option value="option3">Option 3</mat-option>
</mat-select>
</mat-form-field>
multiple
: একাধিক অপশন সিলেক্ট করার জন্য।আপনি চাইলে mat-option
এর ভিতরে আরও কাস্টম কন্টেন্ট (যেমন, ছবি) যোগ করতে পারেন।
<mat-form-field appearance="fill">
<mat-label>Choose an option</mat-label>
<mat-select>
<mat-option value="option1">
<img src="path/to/image1.jpg" alt="Image 1"> Option 1
</mat-option>
<mat-option value="option2">
<img src="path/to/image2.jpg" alt="Image 2"> Option 2
</mat-option>
</mat-select>
</mat-form-field>
[disabled]
অ্যাট্রিবিউট ব্যবহার করে।<mat-select [disabled]="isDisabled">
<mat-option value="option1">Option 1</mat-option>
<mat-option value="option2">Option 2</mat-option>
</mat-select>
Angular Material Select হল একটি অত্যন্ত কার্যকর এবং কাস্টমাইজযোগ্য ড্রপডাউন কম্পোনেন্ট, যা Angular অ্যাপ্লিকেশনে ড্রপডাউন মেনু তৈরি করতে ব্যবহৃত হয়। এটি বিভিন্ন বৈশিষ্ট্য যেমন একাধিক অপশন সিলেকশন, কাস্টম অপশন, এবং ডাইনামিক অপশন লোডিং সমর্থন করে। Angular Material Select ব্যবহার করে আপনি সহজেই সুন্দর, রেসপন্সিভ, এবং ব্যবহারকারীর অভিজ্ঞতা উন্নত করে এমন সিলেক্ট লিস্ট তৈরি করতে পারবেন।
Angular Material একটি জনপ্রিয় UI লাইব্রেরি যা ম্যাটেরিয়াল ডিজাইন গাইডলাইন অনুসরণ করে এবং অ্যাঙ্গুলার অ্যাপ্লিকেশনগুলির জন্য বিভিন্ন প্রি-বিল্ট কম্পোনেন্ট সরবরাহ করে। এর মধ্যে একটি জনপ্রিয় কম্পোনেন্ট হল MatSelect, যা ড্রপডাউন সিলেক্ট বক্স তৈরি করতে ব্যবহৃত হয়। মাল্টিপল সিলেকশন সাপোর্টের মাধ্যমে ব্যবহারকারীরা একাধিক অপশন সিলেক্ট করতে পারেন। এই টিউটোরিয়ালে, আমরা Angular Material এর MatSelect কম্পোনেন্ট ব্যবহার করে মাল্টিপল সিলেকশন তৈরি করার পদ্ধতি জানবো।
MatSelect কম্পোনেন্টটি ড্রপডাউন মেনু তৈরি করতে ব্যবহৃত হয়, যেখানে multiple অ্যাট্রিবিউট যুক্ত করলে একাধিক অপশন সিলেক্ট করা সম্ভব হয়। এই ফিচারটি সাধারণত ফর্মগুলিতে, যেখানে একাধিক অপশন সিলেক্ট করার প্রয়োজন থাকে, ব্যবহৃত হয়।
প্রথমেই Angular Material ইনস্টল করতে হবে, যদি আগে থেকে ইন্সটল না থাকে:
npm install @angular/material
আপনার app.module.ts ফাইলে MatSelectModule ইমপোর্ট করতে হবে:
import { MatSelectModule } from '@angular/material/select';
import { MatFormFieldModule } from '@angular/material/form-field';
@NgModule({
declarations: [AppComponent],
imports: [MatSelectModule, MatFormFieldModule],
bootstrap: [AppComponent]
})
export class AppModule {}
এখন MatSelect কম্পোনেন্টে multiple অ্যাট্রিবিউট ব্যবহার করে একাধিক অপশন সিলেক্ট করতে পারবেন। নিচে একটি উদাহরণ দেওয়া হলো:
<mat-form-field appearance="fill">
<mat-label>Select multiple options</mat-label>
<mat-select multiple [(value)]="selectedOptions">
<mat-option *ngFor="let option of options" [value]="option">
{{ option }}
</mat-option>
</mat-select>
</mat-form-field>
এখানে selectedOptions একটি অ্যারে, যা সিলেক্ট করা অপশনগুলো ধারণ করবে, এবং options হল সিলেক্ট করতে পারা অপশনগুলির একটি অ্যারে।
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
options = ['Option 1', 'Option 2', 'Option 3', 'Option 4'];
selectedOptions = ['Option 1']; // Default selected option
}
এখানে, [(value)]="selectedOptions"
ব্যবহার করা হয়েছে, যাতে সিলেক্ট করা অপশনগুলো selectedOptions
অ্যারে-তে স্টোর হয়।
আপনি selectedOptions
অ্যারে-তে ডিফল্ট ভ্যালু দিয়ে কিছু অপশন সিলেক্ট করতে পারেন। যেমন:
selectedOptions = ['Option 1', 'Option 3'];
এতে প্রথমে Option 1 এবং Option 3 সিলেক্ট হবে।
আপনি mat-form-field
এর appearance অ্যাট্রিবিউট ব্যবহার করে ফিল্ডের স্টাইল কাস্টমাইজ করতে পারেন:
<mat-form-field appearance="outline">
<mat-label>Select multiple options</mat-label>
<mat-select multiple [(value)]="selectedOptions">
<mat-option *ngFor="let option of options" [value]="option">
{{ option }}
</mat-option>
</mat-select>
</mat-form-field>
এখানে appearance="outline"
এর মাধ্যমে আউটলাইন স্টাইল প্রদান করা হয়েছে।
আপনি চাইলে options অ্যারে এর উপাদান ডাইনামিকভাবে পরিবর্তন করতে পারেন:
options = ['Option 1', 'Option 2', 'Option 3', 'Option 4'];
// Dynamically adding an option
addOption(option: string) {
this.options.push(option);
}
এটি addOption()
মেথডে নতুন অপশন অ্যারে-তে যোগ করবে এবং ড্রপডাউনে তা দেখাবে।
Angular Reactive Forms বা Template Driven Forms ব্যবহার করলে, আপনি mat-select এর সাথে ওয়ালিডেশন যোগ করতে পারেন। যেমন:
<mat-form-field appearance="fill">
<mat-label>Select multiple options</mat-label>
<mat-select multiple formControlName="selectedOptions" required>
<mat-option *ngFor="let option of options" [value]="option">
{{ option }}
</mat-option>
</mat-select>
<mat-error *ngIf="formControl.hasError('required')">
You must select at least one option
</mat-error>
</mat-form-field>
এখানে required
অ্যাট্রিবিউট ব্যবহার করে অপশন সিলেকশনের জন্য ওয়ালিডেশন যোগ করা হয়েছে।
Angular Material এর MatSelect কম্পোনেন্ট মাল্টিপল সিলেকশন করার একটি সহজ এবং কার্যকরী উপায়। এটি বিভিন্ন ধরনের ফর্মের জন্য উপযোগী, যেখানে ব্যবহারকারীকে একাধিক অপশন নির্বাচন করার সুযোগ দেওয়া হয়। multiple অ্যাট্রিবিউট ব্যবহার করে ড্রপডাউন তালিকা থেকে একাধিক আইটেম সিলেক্ট করা যায়, এবং ngFor দিয়ে অপশনগুলি ডাইনামিকভাবে তৈরি করা যায়। Angular Material এর সঠিক কনফিগারেশন ও কাস্টমাইজেশন দিয়ে আপনি একটি সুন্দর এবং ব্যবহারযোগ্য মাল্টিপল সিলেকশন ফিচার তৈরি করতে পারবেন।
Angular Material এর MatInput কম্পোনেন্ট হল একটি উন্নত, স্টাইলড ইনপুট ফিল্ড যা Material Design গাইডলাইন অনুসরণ করে। এটি ইউজার ইন্টারফেসে ইনপুট সংগ্রহের জন্য ব্যবহার করা হয় এবং অ্যাঙ্গুলার অ্যাপ্লিকেশনের ইনপুট ফিল্ডের জন্য আধুনিক, রেসপন্সিভ, এবং কাস্টমাইজযোগ্য সমাধান প্রদান করে।
Angular Material এ ইনপুট ফিল্ড তৈরি করতে MatInput কম্পোনেন্ট ব্যবহার করা হয়। এটি সাধারণত mat-form-field কম্পোনেন্টের মধ্যে থাকে এবং এতে লেবেল, প্লেসহোল্ডার, এবং ইনপুট ধরনের অন্যান্য বৈশিষ্ট্য সংযুক্ত করা যায়।
প্রথমে MatInputModule আপনার অ্যাপ্লিকেশনে ইমপোর্ট করতে হবে। এটি app.module.ts ফাইলে করা হয়।
import { MatInputModule } from '@angular/material/input';
import { MatFormFieldModule } from '@angular/material/form-field';
@NgModule({
imports: [
MatInputModule,
MatFormFieldModule
]
})
export class AppModule { }
এখন HTML ফাইলে mat-form-field এর মধ্যে matInput ডিরেকটিভ ব্যবহার করে ইনপুট ফিল্ড তৈরি করা যাবে।
<mat-form-field appearance="fill">
<mat-label>Username</mat-label>
<input matInput placeholder="Enter your username">
</mat-form-field>
এখানে:
mat-form-field
: এটি Material Design এর ইনপুট ফিল্ড কন্টেইনার।matInput
: এটি ইনপুট ফিল্ডে Material Design স্টাইল অ্যাপ্লাই করে।mat-label
: ইনপুট ফিল্ডের জন্য লেবেল।placeholder
: ইনপুট ফিল্ডে প্লেসহোল্ডার টেক্সট।টেক্সট ইনপুট সাধারণত ব্যবহার করা হয় ব্যবহারকারীর কাছ থেকে টেক্সট ইনপুট নেওয়ার জন্য।
<mat-form-field appearance="fill">
<mat-label>Full Name</mat-label>
<input matInput placeholder="Enter your full name">
</mat-form-field>
পাসওয়ার্ড ইনপুট তৈরি করতে type="password" ব্যবহার করতে হবে।
<mat-form-field appearance="fill">
<mat-label>Password</mat-label>
<input matInput placeholder="Enter your password" type="password">
</mat-form-field>
নম্বর ইনপুটের জন্য type="number" ব্যবহার করতে হবে।
<mat-form-field appearance="fill">
<mat-label>Age</mat-label>
<input matInput placeholder="Enter your age" type="number">
</mat-form-field>
ইমেইল ইনপুটের জন্য type="email" ব্যবহার করা হয়, যা ইমেইল ফর্ম্যাট ভ্যালিডেশন করে।
<mat-form-field appearance="fill">
<mat-label>Email</mat-label>
<input matInput placeholder="Enter your email" type="email">
</mat-form-field>
Angular Material ইনপুট ফিল্ডে ভ্যালিডেশন সহজে করা যায়। Angular Reactive Forms বা Template-driven Forms ব্যবহার করে ইনপুট ফিল্ডে ভ্যালিডেশন প্রয়োগ করা যায়।
<form [formGroup]="form">
<mat-form-field appearance="fill">
<mat-label>Email</mat-label>
<input matInput formControlName="email" required>
<mat-error *ngIf="form.get('email').hasError('required')">
Email is required
</mat-error>
</mat-form-field>
</form>
এখানে, required
ভ্যালিডেশন ব্যবহার করা হয়েছে এবং mat-error ট্যাগ ব্যবহার করে ত্রুটি দেখানো হয়েছে।
ইনপুট ফিল্ডকে অক্ষম (disabled) করতে disabled
অ্যাট্রিবিউট ব্যবহার করা যায়।
<mat-form-field appearance="fill">
<mat-label>Username</mat-label>
<input matInput placeholder="Enter your username" [disabled]="true">
</mat-form-field>
আপনি ইনপুট ফিল্ডের আকার ছোট করতে size="small" ব্যবহার করতে পারেন।
<mat-form-field appearance="fill">
<mat-label>Country</mat-label>
<input matInput placeholder="Enter your country" size="small">
</mat-form-field>
Angular Material ইনপুট ফিল্ডে focus এবং blur ইভেন্ট হ্যান্ডেল করতে পারেন।
<mat-form-field appearance="fill">
<mat-label>Username</mat-label>
<input matInput (focus)="onFocus()" (blur)="onBlur()">
</mat-form-field>
Angular Material এর MatInput কম্পোনেন্ট ব্যবহার করে আপনি সহজেই আধুনিক, রেসপন্সিভ, এবং স্টাইলিশ ইনপুট ফিল্ড তৈরি করতে পারেন। এটি Material Design গাইডলাইন অনুসরণ করে, যা আপনার অ্যাপ্লিকেশনের ইউজার ইন্টারফেসকে আরও সুন্দর এবং ব্যবহারকারীর জন্য উপযোগী করে তোলে। MatInput কম্পোনেন্টে লেবেল, প্লেসহোল্ডার, টাইপ, ভ্যালিডেশন, এবং কাস্টমাইজেশন এর মতো শক্তিশালী বৈশিষ্ট্যগুলি সহজেই ব্যবহার করা যায়।
Angular Material একটি জনপ্রিয় UI লাইব্রেরি যা Material Design প্রিন্সিপল অনুসরণ করে তৈরি, এবং এটি ডেভেলপারদের জন্য আধুনিক, ব্যবহারকারী-বান্ধব ইনপুট ফিল্ডসহ অনেক প্রি-বিল্ট কম্পোনেন্ট সরবরাহ করে। Material Input Field Angular Material এর অন্যতম একটি গুরুত্বপূর্ণ কম্পোনেন্ট যা সহজে কাস্টমাইজ করা যায় এবং বিভিন্ন ফর্মে ব্যবহার করা যায়।
Material Input ফিল্ড ব্যবহার করতে, আপনাকে Angular Material এর MatInputModule
ইমপোর্ট করতে হবে এবং তারপর HTML ফাইলে matInput
ডিরেকটিভ ব্যবহার করতে হবে।
প্রথমে Angular Material ইন্সটল করতে হবে:
ng add @angular/material
এটি ইনস্টল করার পরে, আপনার অ্যাপ্লিকেশনের app.module.ts ফাইলে MatInputModule
ইমপোর্ট করুন:
import { MatInputModule } from '@angular/material/input';
import { MatFormFieldModule } from '@angular/material/form-field';
@NgModule({
imports: [
MatInputModule,
MatFormFieldModule
]
})
export class AppModule { }
MatFormFieldModule
ব্যবহার করা হয় যাতে ইনপুট ফিল্ডগুলোকে Material Design স্টাইল অনুসারে প্রদর্শন করা যায়।
এখন, HTML ফাইলে Material Input ফিল্ড ব্যবহার করতে পারেন। নিচে এর উদাহরণ দেওয়া হলো:
<mat-form-field appearance="fill">
<mat-label>First Name</mat-label>
<input matInput placeholder="Enter your first name" [(ngModel)]="firstName">
</mat-form-field>
এখানে:
mat-form-field
: Material Design এর ফর্ম ফিল্ড ব্যবহার করার জন্য।mat-label
: ইনপুট ফিল্ডের লেবেল।matInput
: ইনপুট ফিল্ডে Material Input ডিরেকটিভ ব্যবহার করা।placeholder
: ইনপুট ফিল্ডে প্লেসহোল্ডার টেক্সট।এছাড়া, appearance="fill"
ব্যবহার করে ইনপুট ফিল্ডের স্টাইল কাস্টমাইজ করা হয়।
Material Input Field সহজেই ভ্যালিডেশন সাপোর্ট করে। আপনি required
, minlength
, maxlength
, এবং pattern
এট্রিবিউট ব্যবহার করতে পারেন।
<mat-form-field appearance="fill">
<mat-label>Email</mat-label>
<input matInput placeholder="Enter your email" [(ngModel)]="email" required email>
<mat-error *ngIf="email.invalid && email.touched">
You must enter a valid email.
</mat-error>
</mat-form-field>
এখানে:
required
: ইনপুট ফিল্ডটি পূর্ণ হওয়া প্রয়োজন।email
: ইনপুট ফিল্ডটি ইমেল ফরম্যাটে হওয়া প্রয়োজন।mat-error
: এটি একটি এরর মেসেজ প্রদর্শন করবে যখন ইনপুট ভ্যালিডেশন ব্যর্থ হয়।Angular Material ইনপুট ফিল্ডের জন্য বিভিন্ন স্টাইলিং পছন্দ সরবরাহ করে, যেমন appearance
, floatLabel
, এবং color
।
<mat-form-field appearance="outline">
<mat-label>Username</mat-label>
<input matInput placeholder="Enter username" [(ngModel)]="username">
</mat-form-field>
এখানে, appearance="outline"
দ্বারা ইনপুট ফিল্ডের চারপাশে আউটলাইন তৈরি করা হয়েছে।
<mat-form-field appearance="fill">
<mat-label>Password</mat-label>
<input matInput placeholder="Enter your password" type="password" [(ngModel)]="password">
</mat-form-field>
<mat-form-field appearance="fill">
<mat-label>Search</mat-label>
<input matInput placeholder="Search" autocomplete="on">
</mat-form-field>
Angular Material এর Material Input Field ব্যবহার করার মাধ্যমে আপনি একটি আধুনিক, ব্যবহারকারীবান্ধব এবং অ্যাক্সেসিবল ইনপুট ফিল্ড তৈরি করতে পারেন। এটি বিভিন্ন ভ্যালিডেশন, টাইপোগ্রাফি এবং স্টাইলিং সাপোর্ট করে, যা ডেভেলপারদের জন্য কাজটি সহজ করে তোলে। Angular Material এর ইনপুট ফিল্ড গুলো একটি একক, সমন্বিত ডিজাইন সিস্টেমে কাজ করে এবং Material Design গাইডলাইন অনুযায়ী সঠিকভাবে উপস্থাপিত হয়।
Angular Material এর মাধ্যমে ফর্ম তৈরি করা খুবই সহজ এবং একে শক্তিশালী ফর্ম ভ্যালিডেশন ফিচার দিয়ে সম্পন্ন করা যায়। Angular এর Reactive Forms এবং Template-driven Forms ব্যবহারের মাধ্যমে ইনপুট ফিল্ডের ভ্যালিডেশন করা যায়। Angular Material এর MatInputModule কম্পোনেন্ট ব্যবহার করে আপনি সহজেই ফর্ম ইনপুট তৈরি করতে পারেন, এবং এর সাথে বিভিন্ন ধরনের ভ্যালিডেশন যুক্ত করতে পারেন।
এখানে Angular Material ইনপুট ফিল্ডের সাথে ফর্ম ভ্যালিডেশন করার বিভিন্ন ধাপ এবং কৌশল বর্ণনা করা হলো।
Angular Material এর MatInputModule ব্যবহার করে ফর্ম ইনপুট তৈরি করা হয়। এই ইনপুট ফিল্ডগুলির সাথে বিভিন্ন ভ্যালিডেশন যেমন Required, MinLength, MaxLength, Pattern Matching ইত্যাদি যুক্ত করা যায়।
Angular Material ইনপুটের সাথে ভ্যালিডেশন ব্যবহার করতে FormsModule এবং MatInputModule ইনপোর্ট করতে হবে।
import { NgModule } from '@angular/core';
import { MatInputModule } from '@angular/material/input';
import { FormsModule } from '@angular/forms';
@NgModule({
imports: [MatInputModule, FormsModule],
})
export class AppModule {}
<form #form="ngForm">
<mat-form-field>
<mat-label>Name</mat-label>
<input matInput name="name" [(ngModel)]="name" required minlength="3" #name="ngModel">
<mat-error *ngIf="name.invalid && (name.dirty || name.touched)">
Name is required and must be at least 3 characters long.
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>Email</mat-label>
<input matInput name="email" [(ngModel)]="email" required email #email="ngModel">
<mat-error *ngIf="email.invalid && (email.dirty || email.touched)">
Please enter a valid email address.
</mat-error>
</mat-form-field>
<button mat-raised-button [disabled]="form.invalid">Submit</button>
</form>
এখানে mat-error
ব্যবহার করা হয়েছে, যা ফিল্ডের ভ্যালিডেশন ত্রুটি প্রদর্শন করবে যদি ইনপুটটি অবৈধ হয়।
Reactive Forms ব্যবহার করে আরও শক্তিশালী এবং কাস্টম ভ্যালিডেশন যুক্ত করা যায়। এখানে FormGroup
, FormControl
এবং Validators ব্যবহার করা হয়।
import { NgModule } from '@angular/core';
import { MatInputModule } from '@angular/material/input';
import { ReactiveFormsModule } from '@angular/forms';
@NgModule({
imports: [MatInputModule, ReactiveFormsModule],
})
export class AppModule {}
import { Component } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
})
export class AppComponent {
form: FormGroup;
constructor(private fb: FormBuilder) {
this.form = this.fb.group({
name: ['', [Validators.required, Validators.minLength(3)]],
email: ['', [Validators.required, Validators.email]],
});
}
get name() { return this.form.get('name'); }
get email() { return this.form.get('email'); }
onSubmit() {
if (this.form.valid) {
console.log('Form Submitted', this.form.value);
}
}
}
<form [formGroup]="form" (ngSubmit)="onSubmit()">
<mat-form-field>
<mat-label>Name</mat-label>
<input matInput formControlName="name">
<mat-error *ngIf="name.invalid && (name.dirty || name.touched)">
Name is required and must be at least 3 characters long.
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>Email</mat-label>
<input matInput formControlName="email">
<mat-error *ngIf="email.invalid && (email.dirty || email.touched)">
Please enter a valid email address.
</mat-error>
</mat-form-field>
<button mat-raised-button type="submit" [disabled]="form.invalid">Submit</button>
</form>
FormControl
ব্যবহার করে ফিল্ডের ভ্যালিডেশন নির্ধারণ করা হয়।এখানে mat-error
ব্যবহার করা হয়েছে, যা ইনপুটের ভুল বা অবৈধ স্টেট শনাক্ত করলে ত্রুটি বার্তা প্রদর্শন করে।
Angular Material এর সাথে কাস্টম ভ্যালিডেশনও ব্যবহার করা যেতে পারে, যেমন ফিল্ডের মানের উপর ভিত্তি করে ডাইনামিক ভ্যালিডেশন তৈরি করা।
import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';
export function customValidator(): ValidatorFn {
return (control: AbstractControl): ValidationErrors | null => {
const forbidden = /admin/.test(control.value);
return forbidden ? { 'forbiddenName': { value: control.value } } : null;
};
}
এখন এই কাস্টম ভ্যালিডেটরটি ইনপুট ফিল্ডে ব্যবহার করতে পারেন:
this.form = this.fb.group({
username: ['', [Validators.required, customValidator()]]
});
Angular Material এর মাধ্যমে ইনপুট ফিল্ডের সাথে ফর্ম ভ্যালিডেশন করা খুবই সহজ এবং কার্যকরী। আপনি Template-driven Forms অথবা Reactive Forms ব্যবহার করে ফর্মের ভ্যালিডেশন করতে পারেন। Angular এর বিল্ট-ইন Validators এর পাশাপাশি কাস্টম ভ্যালিডেটর ব্যবহার করে আরও উন্নত ফর্ম ভ্যালিডেশন তৈরি করা সম্ভব। Angular Material এর কম্পোনেন্ট যেমন MatInputModule, MatFormFieldModule, এবং MatErrorModule এর মাধ্যমে ফর্মকে আকর্ষণীয় এবং ব্যবহারকারী-বান্ধব করা যায়।
Read more