@freezesoul/nz-formly
Version:
基于ng-zorro-antd UI 扩展的ngx-formly组件库
60 lines (59 loc) • 1.69 kB
TypeScript
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';
}