radio 单选框

单选框。

代码演示

radio 单选框 - 图1

基础样例

最简单的用法。

  1. import { Component } from '@angular/core';
  2. import { SFSchema, SFRadioWidgetSchema } from '@delon/form';
  3. import { NzMessageService } from 'ng-zorro-antd/message';
  4. import { of } from 'rxjs';
  5. import { delay } from 'rxjs/operators';
  6. @Component({
  7. selector: 'form-radio-simple',
  8. template: `
  9. <sf [schema]="schema" (formSubmit)="submit($event)"></sf>
  10. `,
  11. })
  12. export class FormRadioSimpleComponent {
  13. schema: SFSchema = {
  14. properties: {
  15. btn: {
  16. type: 'string',
  17. title: 'Button',
  18. enum: ['A', 'B', 'C'],
  19. ui: {
  20. widget: 'radio',
  21. styleType: 'button',
  22. buttonStyle: 'solid',
  23. } as SFRadioWidgetSchema,
  24. default: 'A',
  25. },
  26. // 异步数据
  27. async: {
  28. type: 'string',
  29. title: 'Async',
  30. ui: {
  31. widget: 'radio',
  32. asyncData: () => of([{ label: '男', value: 'M' }, { label: '女', value: 'F' }, { label: '未知', value: 'N' }]).pipe(delay(100)),
  33. change: console.log,
  34. } as SFRadioWidgetSchema,
  35. default: 'N',
  36. },
  37. },
  38. };
  39. constructor(public msg: NzMessageService) {}
  40. submit(value: any) {
  41. this.msg.success(JSON.stringify(value));
  42. }
  43. }

API

schema 属性

参数说明类型默认值
[enum]数据源SFSchemaEnumType[]-
[readOnly]禁用状态boolean-

ui 属性

参数说明类型默认值
[asyncData]异步数据源() => Observable<SFSchemaEnumType[]>-
[size]大小,等同 nzSizestring-
[styleType]radio 的样式default, buttondefault
[change]值变更事件(res: SFValue) => void-
[buttonStyle]RadioButton 的风格样式,目前有描边和填色两种风格‘outline’|’solid’‘outline’