@redhare/lowcode-types
Version:
Types for Ali lowCode engine
66 lines (65 loc) • 1.72 kB
TypeScript
import { IPublicModelSettingField } from '../model';
import { IPublicTypeLiveTextEditingConfig } from './';
/**
* extra props for field
*/
export interface IPublicTypeFieldExtraProps {
/**
* 是否必填参数
*/
isRequired?: boolean;
/**
* default value of target prop for setter use
*/
defaultValue?: any;
/**
* get value for field
*/
getValue?: (target: IPublicModelSettingField, fieldValue: any) => any;
/**
* set value for field
*/
setValue?: (target: IPublicModelSettingField, value: any) => void;
/**
* the field conditional show, is not set always true
* @default undefined
*/
condition?: (target: IPublicModelSettingField) => boolean;
/**
* 配置当前 prop 是否忽略默认值处理逻辑,如果返回值是 true 引擎不会处理默认值
* @returns boolean
*/
ignoreDefaultValue?: (target: IPublicModelSettingField) => boolean;
/**
* autorun when something change
*/
autorun?: (target: IPublicModelSettingField) => void;
/**
* default collapsed when display accordion
*/
defaultCollapsed?: boolean;
/**
* important field
*/
important?: boolean;
/**
* internal use
*/
forceInline?: number;
/**
* 是否支持变量配置
*/
supportVariable?: boolean;
/**
* compatiable vision display
*/
display?: 'accordion' | 'inline' | 'block' | 'plain' | 'popup' | 'entry';
/**
* @todo 待补充文档
*/
liveTextEditing?: Omit<IPublicTypeLiveTextEditingConfig, 'propTarget'>;
/**
* onChange 事件
*/
onChange?: (value: any, field: any) => void;
}