@redhare/lowcode-types
Version:
Types for Ali lowCode engine
50 lines (49 loc) • 1.36 kB
TypeScript
import { IPublicTypeCustomView, IPublicTypeCompositeValue, IPublicTypeTitleContent, IPublicModelSettingField } from '..';
import { IPublicTypeDynamicProps } from './dynamic-props';
/**
* 设置器配置
*/
export interface IPublicTypeSetterConfig {
/**
* 配置设置器用哪一个 setter
*/
componentName: string | IPublicTypeCustomView;
/**
* 传递给 setter 的属性
*
* the props pass to Setter Component
*/
props?: Record<string, unknown> | IPublicTypeDynamicProps;
/**
* @deprecated
*/
children?: any;
/**
* 是否必填?
*
* ArraySetter 里有个快捷预览,可以在不打开面板的情况下直接编辑
*/
isRequired?: boolean;
/**
* Setter 的初始值
*
* @todo initialValue 可能要和 defaultValue 二选一
*/
initialValue?: any | ((target: IPublicModelSettingField) => any);
defaultValue?: any;
/**
* 给 MixedSetter 时切换 Setter 展示用的
*/
title?: IPublicTypeTitleContent;
/**
* 给 MixedSetter 用于判断优先选中哪个
*/
condition?: (target: IPublicModelSettingField) => boolean;
/**
* 给 MixedSetter,切换值时声明类型
*
* @todo 物料协议推进
*/
valueType?: IPublicTypeCompositeValue[];
isDynamic?: boolean;
}