Переключатель кнопки углового материала
Angular Material — это библиотека компонентов пользовательского интерфейса, разработанная Google, чтобы разработчики Angular могли разрабатывать современные приложения структурированным и отзывчивым образом. Используя эту библиотеку, мы можем значительно повысить удобство работы конечного пользователя, тем самым популяризируя наше приложение. Эта библиотека содержит современные готовые к использованию элементы, которые можно использовать напрямую с минимальным дополнительным кодом или без него.
Компонент Button Toggle в материале Angular позволяет пользователю переключаться между включенным и выключенным состояниями для выполнения определенных действий.
<mat-button-toggle> — это директива в угловом материале. Чтобы создать кнопку-переключатель или кнопку включения/выключения с угловым дизайном материала и анимацией, используется директива Angular <mat-button-toggle>. Эти кнопки можно настроить так, чтобы они вели себя либо как радиокнопки, либо как флажки, чтобы на кнопках можно было сделать одиночный или множественный выбор.
Синтаксис :
<mat-button-toggle>Toggle Button</mat-button-toggle>
<mat-button-toggle-group> — это директива Angular, используемая для группировки элементов <mat-button-toggle> для выполнения определенных действий.
Синтаксис:
<mat-button-toggle-group #nameOfToggleGroup="matButtonToggleGroup"> <mat-button-toggle value="Toggle Button 1"> Toggle Button 1 </mat-button-toggle> <mat-button-toggle value="Toggle Button 2"> Toggle Button 2 </mat-button-toggle> ... </mat-button-toggle-group>
Синтаксис установки:
Основным предварительным условием является то, что в системе должен быть установлен Angular CLI, чтобы добавить и настроить библиотеку материалов Angular. Следующая команда выполняется в Angular CLI для установки библиотеки материалов angular:
ng add @angular/material
Перед выполнением вышеуказанной команды убедитесь, что путь открыт в терминале.
Подробную процедуру установки см . в статье Добавление компонента Angular Material в приложение Angular.
Добавление компонента переключения кнопок:
Чтобы использовать компонент Button Toggle, нам нужно импортировать его в файл app.module.ts :
import {MatButtonToggleModule} from "@angular/material/button-toggle";
Чтобы использовать компонент кнопки-переключателя в нашем коде, мы должны импортировать MatButtonToggleModule в массив imports.
Структура проекта: После успешной установки структура проекта будет выглядеть следующим образом:
Пример 1. Пример ниже иллюстрирует реализацию кнопки Toggle Angular Material.
app.component.html
< div > < h1 >GeeksforGeeks</ h1 > < h3 >Angular Material Button Toggle</ h3 > < mat-button-toggle-group # toggleBtn = "matButtonToggleGroup" > < mat-button-toggle value = "Toggle Button 1" > Toggle Button 1 </ mat-button-toggle > < mat-button-toggle value = "Toggle Button 2" > Toggle Button 2 </ mat-button-toggle > </ mat-button-toggle-group > < br /> You have selected : {{ toggleBtn.value }} </ div > |
app.component.ts
import { Component } from "@angular/core" ; @Component({ selector: "my-app" , templateUrl: "./app.component.html" , styleUrls: [ "./app.component.css" ], }) export class AppComponent { title = "AngularApp" ; } |
app.module.ts
import { NgModule } from "@angular/core" ; import { BrowserModule } from "@angular/platform-browser" ; import { FormsModule } from "@angular/forms" ; import { AppComponent } from "./app.component" ; import { MatButtonToggleModule } from "@angular/material/button-toggle" ; import { BrowserAnimationsModule } from "@angular/platform-browser/animations" ; @NgModule({ imports: [ BrowserModule, FormsModule, MatButtonToggleModule, BrowserAnimationsModule, ], declarations: [AppComponent], bootstrap: [AppComponent], }) export class AppModule {} |
Выход:
Кнопка переключения режима выбора:
Есть 2 режима выбора Angular Toggle Button:
- Одиночный выбор:
Он позволяет выбрать только один элемент в группе переключателей. Чтобы создать одну кнопку-переключатель выбора, производная <mat-button-toggle> вложена в <mat-button-toggle-group>. <mat-button-toggle-group> по умолчанию ведет себя как группа переключателей, позволяя выбирать только один элемент. Когда пользователь делает один выбор, значение выбранного элемента отображается на экране пользовательского интерфейса.
- Множественный выбор:
Это позволяет выбрать более одного элемента в группе переключателей. Чтобы создать кнопку-переключатель множественного выбора, производная <mat-button-toggle> вложена в <mat-button-toggle-group> , и используется атрибут с именем Multiple. При добавлении нескольких атрибутов можно выбрать несколько элементов (поведение флажка). Для множественного выбора атрибут Multiple добавляется в директиву <mat-button-toggle-group> . Когда пользователь делает множественный выбор, несколько значений выбираются и отображаются как значения, разделенные запятыми, когда значения просматриваются на экране пользовательского интерфейса.
Пример 2. Пример ниже иллюстрирует реализацию кнопки Toggle путем указания различных режимов выбора в Angular Material.
app.component.html
< div > < h1 >GeeksforGeeks</ h1 > < h3 >Angular Material Button Toggle</ h3 > < div > < h4 >Single selection</ h4 > < mat-button-toggle-group # toggleGroup1 = "matButtonToggleGroup" > < mat-button-toggle value = "Angular Material UI" > Angular Material UI </ mat-button-toggle > < mat-button-toggle value = "React Material UI" > React Material UI </ mat-button-toggle > </ mat-button-toggle-group > < br /> You have selected : {{ toggleGroup1.value }} </ div > < br /> < div > < h4 >Multiple selection</ h4 > < mat-button-toggle-group # toggleGroup2 = "matButtonToggleGroup" multiple> < mat-button-toggle value = "Angular" > Angular </ mat-button-toggle > < mat-button-toggle value = "React" > React </ mat-button-toggle > < mat-button-toggle value = "Vue" > Vue </ mat-button-toggle > </ mat-button-toggle-group > < br /> You have selected : {{ toggleGroup2.value }} </ div > </ div > |
app.component.ts
import { Component } from "@angular/core" ; @Component({ selector: "my-app" , templateUrl: "./app.component.html" , styleUrls: [ "./app.component.css" ], }) export class AppComponent { title = "AngularApp" ; } |
app.module.ts
import { NgModule } from "@angular/core" ; import { BrowserModule } from "@angular/platform-browser" ; import { FormsModule } from "@angular/forms" ; import { AppComponent } from "./app.component" ; import { MatButtonToggleModule } from "@angular/material/button-toggle" ; import { BrowserAnimationsModule } from "@angular/platform-browser/animations" ; @NgModule({ imports: [ BrowserModule, FormsModule, MatButtonToggleModule, BrowserAnimationsModule, ], declarations: [AppComponent], bootstrap: [AppComponent], }) export class AppModule {} |
Выход :
Ссылка : https://material.angular.io/components/button-toggle/overview