Radio单选框

    • 用于在多个备选项中选中单个状态。
    • 和 Select 的区别是,Radio 所有选项默认可见,方便用户在比较中选择,因此选项不宜过多。

    想要了解更多关于单独引入组件的内容,可以在快速上手页面进行查看。

    最简单的用法。

    1. @Component({
    2. selector: 'nz-demo-radio-basic',
    3. template: `
    4. <label nz-radio ngModel>Radio</label>
    5. `
    6. })
    7. export class NzDemoRadioBasicComponent {}

    Radio单选框 - 图2

    单选组合

    一组互斥的 nz-radio 配合使用。

    1. import { Component } from '@angular/core';
    2. @Component({
    3. selector: 'nz-demo-radio-radiogroup',
    4. template: `
    5. <nz-radio-group [(ngModel)]="radioValue">
    6. <label nz-radio nzValue="A">A</label>
    7. <label nz-radio nzValue="B">B</label>
    8. <label nz-radio nzValue="C">C</label>
    9. <label nz-radio nzValue="D">D</label>
    10. </nz-radio-group>
    11. `
    12. })
    13. export class NzDemoRadioRadiogroupComponent {
    14. radioValue = 'A';
    15. }

    通过配置 options 参数来渲染单选框。

    Radio单选框 - 图4

    单选组合 - 配合 name 使用

    可以为 nz-radio-group 配置 nzName 参数,为组合内的 input 元素赋予相同的 name 属性,使浏览器把 nz-radio-group 下的 nz-radio 真正看作是一组(例如可以通过方向键始终在同一组内更改选项)。

    1. import { Component } from '@angular/core';
    2. @Component({
    3. selector: 'nz-demo-radio-radiogroup-with-name',
    4. template: `
    5. <nz-radio-group [(ngModel)]="radioValue" nzName="radiogroup">
    6. <label nz-radio nzValue="A">A</label>
    7. <label nz-radio nzValue="B">B</label>
    8. <label nz-radio nzValue="C">C</label>
    9. </nz-radio-group>
    10. `
    11. })
    12. export class NzDemoRadioRadiogroupWithNameComponent {
    13. radioValue = 'A';
    14. }

    实色填底的单选按钮样式。

    1. import { Component } from '@angular/core';
    2. @Component({
    3. selector: 'nz-demo-radio-solid',
    4. template: `
    5. <div>
    6. <nz-radio-group [(ngModel)]="radioValue" [nzButtonStyle]="'solid'">
    7. <label nz-radio-button nzValue="A">Hangzhou</label>
    8. <label nz-radio-button nzValue="C">Beijing</label>
    9. <label nz-radio-button nzValue="D">Chengdu</label>
    10. </nz-radio-group>
    11. </div>
    12. `
    13. })
    14. export class NzDemoRadioSolidComponent {
    15. radioValue = 'A';
    16. }

    Radio单选框 - 图6

    不可用

    nz-radio 不可用。

    垂直的 nz-radio-group,配合更多输入框选项。

    1. import { Component } from '@angular/core';
    2. @Component({
    3. selector: 'nz-demo-radio-radiogroup-more',
    4. template: `
    5. <nz-radio-group [(ngModel)]="radioValue">
    6. <label nz-radio [ngStyle]="style" nzValue="A">Option A</label>
    7. <label nz-radio [ngStyle]="style" nzValue="B">Option B</label>
    8. <label nz-radio [ngStyle]="style" nzValue="C">Option C</label>
    9. <label nz-radio [ngStyle]="style" nzValue="M">
    10. More...
    11. <input type="text" nz-input *ngIf="radioValue == 'M'" style="width: 100px; margin-left: 10px;" />
    12. </label>
    13. </nz-radio-group>
    14. `,
    15. styles: [
    16. `
    17. [nz-radio] {
    18. display: block;
    19. }
    20. ]
    21. })
    22. export class NzDemoRadioRadiogroupMoreComponent {
    23. radioValue = 'A';
    24. style = {
    25. display: 'block',
    26. height: '30px',
    27. lineHeight: '30px'
    28. };
    29. }

    按钮样式

    按钮样式的单选组合。

    1. import { Component } from '@angular/core';
    2. @Component({
    3. selector: 'nz-demo-radio-radiobutton',
    4. template: `
    5. <div>
    6. <nz-radio-group [(ngModel)]="radioValue">
    7. <label nz-radio-button nzValue="A">Hangzhou</label>
    8. <label nz-radio-button nzValue="B">Shanghai</label>
    9. <label nz-radio-button nzValue="C">Beijing</label>
    10. <label nz-radio-button nzValue="D">Chengdu</label>
    11. </nz-radio-group>
    12. </div>
    13. <nz-radio-group [(ngModel)]="radioValue">
    14. <label nz-radio-button nzValue="A">Hangzhou</label>
    15. <label nz-radio-button nzValue="B" nzDisabled>Shanghai</label>
    16. <label nz-radio-button nzValue="C">Beijing</label>
    17. <label nz-radio-button nzValue="D">Chengdu</label>
    18. </nz-radio-group>
    19. </div>
    20. <div style="margin-top:16px;">
    21. <nz-radio-group [(ngModel)]="radioValue">
    22. <label nz-radio-button nzValue="A" nzDisabled>Hangzhou</label>
    23. <label nz-radio-button nzValue="B" nzDisabled>Shanghai</label>
    24. <label nz-radio-button nzValue="C" nzDisabled>Beijing</label>
    25. <label nz-radio-button nzValue="D" nzDisabled>Chengdu</label>
    26. </nz-radio-group>
    27. </div>
    28. `
    29. })
    30. export class NzDemoRadioRadiobuttonComponent {
    31. radioValue = 'A';
    32. }

    Radio单选框 - 图9

    大中小三种组合,可以和表单输入框进行对应配合。

    单选框组合,用于包裹一组 nz-radio