UNPKG

@freezesoul/nz-formly

Version:

基于ng-zorro-antd UI 扩展的ngx-formly组件库

60 lines (59 loc) 1.69 kB
import { AsyncFormlyOptions, ControlOptions, NzFormlyFieldConfig } from '@freezesoul/nz-formly/common'; import { NzSafeAny, NzSizeLDSType } from 'ng-zorro-antd/core/types'; import { OptionItem } from '@freezesoul/nzx-antd/checkbox'; import { NzRadioButtonStyle } from 'ng-zorro-antd/radio'; import { TemplateRef } from '@angular/core'; import { FieldWrapperOptions } from '@freezesoul/nz-formly/field-wrapper'; /** * Radio模板配置 */ export interface BaseRadioOptions extends ControlOptions { /** * 启用html渲染,而不是转义html标签 */ enableHTML?: boolean; /** * 自定义渲染option label */ labelTemplate?: string | TemplateRef<{ $implicit: RatioOptionItem; field: RadioFieldConfig; }>; /** * 自定义渲染option label, 模板名称 */ labelTemplateName?: string; /** * nz-radio-group 下所有 input[type="radio"] 的 name 属性 */ nzName?: string; /** * 设定所有 nz-radio disable 状态 */ nzDisabled?: boolean; /** * 大小,只对按钮样式生效 */ nzSize?: NzSizeLDSType; /** * RadioButton 的风格样式,目前有描边和填色两种风格 */ nzButtonStyle?: NzRadioButtonStyle; } export type RatioOptionItem = OptionItem & { /** * 文字之前的图标 */ beforeIcon?: string; /** * 文字之后的图标 */ afterIcon?: string; }; export type RadioOptions = BaseRadioOptions & AsyncFormlyOptions<NzSafeAny, RatioOptionItem> & FieldWrapperOptions; /** * radio配置 */ export interface RadioFieldConfig extends NzFormlyFieldConfig<RadioOptions> { type: 'radio'; }