Angular Radio 및 Radio Group 구성 요소 개요
Radio Button
Ignite UI for Angular 사용하면 사용자는 나란히 나열된 사용 가능한 옵션 세트에서 단일 옵션을 선택할 수 있습니다.
Angular Radio & Radio Group Example
Getting Started with Ignite UI for Angular Radio Button
Ignite UI for Angular Radio Button 구성 요소를 시작하려면 먼저 Ignite UI for Angular 설치해야 합니다. 기존 Angular 애플리케이션에서 다음 명령을 입력합니다.
ng add igniteui-angular
Ignite UI for Angular에 대한 전체 소개는 시작 항목을 참조하십시오.
다음 단계는 IgxRadioModule
에서 app.module.ts 파일.
// app.module.ts
...
import { IgxRadioModule } from 'igniteui-angular';
// import { IgxRadioModule } from '@infragistics/igniteui-angular'; for licensed package
@NgModule({
...
imports: [..., IgxRadioModule],
...
})
export class AppModule {
public selected: any;
}
또는 16.0.0
부터 IgxRadioGroupDirective
및 IgxRadioComponent
독립 실행형 종속성으로 가져오거나 IGX_RADIO_GROUP_DIRECTIVES
토큰을 사용하여 구성 요소와 모든 지원 구성 요소 및 지시문을 가져올 수 있습니다.
// home.component.ts
import { FormsModule } from '@angular/forms';
import { IGX_RADIO_GROUP_DIRECTIVES } from 'igniteui-angular';
// import { IGX_RADIO_GROUP_DIRECTIVES } from '@infragistics/igniteui-angular'; for licensed package
@Component({
selector: 'app-home',
template: `
<igx-radio-group>
<igx-radio [(ngModel)]="selected" value="London">London</igx-radio>
<igx-radio [(ngModel)]="selected" value="New York">New York</igx-radio>
<igx-radio [(ngModel)]="selected" value="Tokyo">Tokyo</igx-radio>
<igx-radio [(ngModel)]="selected" value="Sofia">Sofia</igx-radio>
</igx-radio-group>
`,
styleUrls: ['home.component.scss'],
standalone: true,
imports: [IGX_RADIO_GROUP_DIRECTIVES, FormsModule],
/* or imports: [IgxRadioComponent, IgxRadioGroupDirective, FormsModule] */
})
export class HomeComponent {
public selected: any;
}
이제 Ignite UI for Angular 가져왔으므로 igx-radio-group
지시문과 igx-radio
구성 요소를 사용할 수 있습니다.
Using the Angular Radio Button
구성요소 템플릿 내에서 다음 코드를 사용하여 라디오 버튼을 표시할 수 있습니다.
<igx-radio [(ngModel)]="selected" value="option1">Option 1</igx-radio>
<igx-radio [(ngModel)]="selected" value="option2">Option 2</igx-radio>
Label
labelPosition
속성은 라디오 구성 요소에서 레이블의 기본 위치를 변경하는 데 사용할 수 있습니다. 사용자는 before
과 after
중에서 선택할 수 있습니다. 지정하지 않으면 레이블은 라디오 버튼 뒤에 배치됩니다.
<igx-radio [(ngModel)]="selected" value="option1" labelPosition="before">Option 1</igx-radio>
<igx-radio [(ngModel)]="selected" value="option2" labelPosition="before">Option 2</igx-radio>
Properties
각각 특정 색상을 배경으로 적용하는 4개의 라디오 버튼을 추가하여 이전 샘플을 향상해 보겠습니다. div 요소의 backgroundColor 속성을 구성 요소의 selectedColor 속성에 바인딩합니다. selectedColor도 NgModel
지시어를 통해 양방향 바인딩 관계에 참여하므로 사용자가 다른 라디오 버튼(색상)을 선택할 때마다 해당 값이 업데이트됩니다.
// radiogroup.component.ts
...
public colors = [{
hex: '#f06a2f',
name: 'Carrot'
}, {
hex: '#ff134a',
name: 'Watermelon'
}, {
hex: '#7bc96f',
name: 'Grass'
},
{
hex: 'transparent',
name: 'No color'
}];
public selectedColor: string = this.colors[3].hex;
<!--radiogroup.component.html-->
<igx-radio *ngFor="let color of colors" name="color" [value]="color.hex" [(ngModel)]="selectedColor">
{{color.name}}
</igx-radio>
<div [style.background-color]="selectedColor">...</div>
양방향 데이터 바인딩에서 NgModel
지시문을 사용하지 않는 경우 FormsModule
가져와 NgModule의 가져오기 목록에 추가해야 합니다.
최종 결과는 다음과 같습니다.
스타일링
라디오 버튼 스타일링을 시작하려면 모든 테마 기능과 구성 요소 믹스인이 있는 index
파일을 가져와야 합니다.
@use "igniteui-angular/theming" as *;
// IMPORTANT: Prior to Ignite UI for Angular version 13 use:
// @import '~igniteui-angular/lib/core/styles/themes/index';
가장 간단한 접근 방식에 따라 확장하는 radio-theme
새 테마를 만듭니다. 두 개의 주요 매개 변수 $empty-color
$fill-color
만 제공하면 완전히 스타일이 지정된 라디오 단추를 생성할 수 있습니다. 이러한 값은 테마의 기초 역할을 하며, 이를 제공하면 다양한 상태(예: 호버, 선택됨, 비활성화)에 필요한 모든 전경색과 배경색을 자동으로 계산합니다.
$custom-radio-theme: radio-theme(
$empty-color: #345779,
$fill-color: #2dabe8,
);
마지막 단계는 애플리케이션에 사용자 정의 라디오 테마를 전달하는 것입니다.
@include css-vars($custom-radio-theme);
Radio Group
Ignite UI for Angular 자식 라디오 구성 요소를 더 잘 제어할 수 있는 그룹화 컨테이너를 제공하고 템플릿 기반 및 반응형 양식을 지원합니다.
Demo
Usage
Radio Group 지시문은 다음과 같이 내보내집니다. NgModule
, 따라서 애플리케이션에서 해야 할 일은 IgxRadioModule
에서 app.module.ts 파일:
// app.module.ts
...
import { IgxRadioModule } from 'igniteui-angular';
// import { IgxRadioModule } from '@infragistics/igniteui-angular'; for licensed package
@NgModule({
...
imports: [..., IgxRadioModule],
...
})
시작하려면 igxRadioGroup
생성하고 여러 igxRadio
구성 요소를 추가하세요.
라디오 그룹에 대한 name
속성 설정은 필수 입니다.
<!--radio-group.component.html-->
<igx-radio-group name="fruitsRadioGroup">
<igx-radio *ngFor="let fruit of fruits" value="{{fruit}}">
{{fruit}}
</igx-radio>
</igx-radio-group>
// radio-group.component.ts
public fruits = ["Apple", "Mango", "Banana", "Orange"];
Alignment
사용 alignment
방향을 변경하는 입력 속성 igxRadio
라디오 그룹의 구성 요소. 사용자는 다음 중에서 선택할 수 있습니다. horizontal
그리고 vertical
. 기본적으로 라디오 그룹 정렬은 수평입니다.
//sample.component.ts
import { RadioGroupAlignment } from "igniteui-angular";
...
public alignment = RadioGroupAlignment.vertical;
...
<!-- sample.component.html -->
<igx-radio-group [alignment]="alignment">
<igx-radio [(ngModel)]="selected" value="London">London</igx-radio>
<igx-radio [(ngModel)]="selected" value="New York">New York</igx-radio>
<igx-radio [(ngModel)]="selected" value="Tokyo">Tokyo</igx-radio>
<igx-radio [(ngModel)]="selected" value="Sofia">Sofia</igx-radio>
</igx-radio-group>
API References
Theming Dependencies
Additional Resources
우리 커뮤니티는 활동적이며 항상 새로운 아이디어를 환영합니다.