属性的自定义渲染依赖于属性的自定义配置。属性的配置中需要指定属性的编码,标题,输入组件参数等重要信息。
类型定义
interface PropertySchema {
//属性标题,如果不设置则表示不需要显示标题
title?: string;
//属性编码
code: string;
/**
* 输入组件值的映射,如果只是简单通过code取可以不设置,如果是多个属性合并的场景,需要配置
* 例如:code为a,b,c,valueMap为['a','b','c'],则输入组件的值为{a:1,b:2,c:3}
**/
valueMap?: string[] | any;
//属性提示
tips?: string;
//输入组件名称
inputComponentName: string;
// 自定义的判空逻辑,如果不设置则默认为!!value
isNotEmpty?: (value: any) => boolean;
// 自定义的必填提示文案,如果不设置走默认文案逻辑
getRequiredErrorMessage?: (controller, propertiesData) => string;
// 必填以外的校验逻辑,校验后的提示文案
getValueValidateErrorMessage?: (controller, propertiesData) => string;
//默认值函数
defaultValue?: (businessContext, propertiesData: any) => any;
//弹窗组件是否需要显示删除确认弹窗
showDeleteConfirm?: boolean | ((value: any) => boolean | Promise<boolean>);
//弹窗组件删除确认弹窗文案
confirmText?: string;
//隐藏整个组件的判断函数,只支持简单场景,如果需要用到的数据在controller中,需要在subscription中处理
hiddenFunc?: (propertiesData: any) => boolean;
//属性值传递给组件时进行的映射
inputValueTransform?: (value: any) => any;
//组件值传递给属性时进行的映射
outputValueTransform?: (value: any) => any;
//组件的参数props
options?: any;
}-
有用(5)
-
没有用(0)



