jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
56 lines (55 loc) • 1.48 kB
TypeScript
import type { RendererProps, SchemaBoolean } from 'jamis-core';
import type { CollapseSchema, FormBaseControl, FormHorizontal, SchemaCollection, SchemaTpl } from '../types';
/**
* FieldSet 表单项集合
*
*/
export interface FieldSetControlSchema extends Omit<FormBaseControl, 'size' | 'key'>, Omit<CollapseSchema, 'type' | 'body' | 'header' | 'expandIcon' | 'collapseHeader'> {
/**
* 指定为表单项集合
*/
type: 'fieldset' | 'fieldSet';
/**
* 标题展示位置
*/
titlePosition?: 'top' | 'bottom';
/**
* 标题
*/
title?: SchemaTpl;
/**
* 收起的标题
*/
collapseTitle?: SchemaTpl;
/**
* 是否可折叠
*/
collapsable?: boolean;
/**
* 默认是否折叠
*/
collapsed?: boolean;
collapsedOn?: SchemaBoolean;
/**
* 内容区域
*/
body?: SchemaCollection;
/**
* 点开时才加载内容
*/
mountOnEnter?: boolean;
/**
* 卡片隐藏就销毁内容。
*/
unmountOnExit?: boolean;
/**
* 配置子表单项默认的展示方式。
*/
subFormMode?: 'normal' | 'inline' | 'horizontal';
/**
* 如果是水平排版,这个属性可以细化水平排版的左右宽度占比。
*/
subFormHorizontal?: FormHorizontal;
}
export interface FieldSetProps extends RendererProps, Omit<FieldSetControlSchema, 'type' | 'className' | 'descriptionClassName' | 'inputClassName'> {
}