虚拟字段
作者:
虚拟字段
go的元数据定义中已经定义了虚拟字段
type Field struct {
/**
* 字段是否是虚拟字段(扩展字段)
*/
IsExtendField bool `json:"isExtendField"`
/**
* 扩展字段的扩展信息, 用来定义扩展字段的类型,如果是参照,则需要额外增加参照等相关信息
*/
ExtendInfo *ExtendInfo `json:"extendInfo,omitempty"`
}
/** 扩展字段的信息 */
type ExtendInfo struct {
Type string `json:"type"`
ReferType string `json:"referType,omitempty"`
EnumType string `json:"enumType,omitempty"`
IsMulti bool `json:"isMulti"`
IsSubmit bool `json:"isSubmit"` // 是否提交
Precision int `json:"precision"` // 数字的精度
BusinessModuleIds []string `json:"businessModuleId,omitempty"`
}
平台支持
metadataApi有新增字段的方法
func (t *metadataTrunk) Prepare(ctx form_context.FormContext) *context.SolutionMetadata {
t.metadataApi = NewMetadataApi(ctx)
solution := t.getSolution(ctx)
t.solution = &solution
return t.solution
}
func (api formMetadataApi) AddMasterField(item form_context.FormMasterFieldParams) {
solution := api.formContext.GetSolution()
AddMasterFieldWithSolution(item, solution)
}
func (api formMetadataApi) AddMasterFields(items []form_context.FormMasterFieldParams) {
if len(items) == 0 {
return
}
for _, item := range items {
api.AddMasterField(item)
}
}