属性的自定义渲染依赖于属性的自定义配置。属性的配置中需要指定属性的编码,标题,输入组件参数等重要信息。
类型定义
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)