# SchemaField (Markup Schema)
# 描述
SchemaField 组件是专门用于解析JSON-Schema动态渲染表单的组件。 在使用 SchemaField 组件的时候,需要通过 createSchemaField 工厂函数创建一个 SchemaField 组件。
# 签名
type ComposeSchemaField = {
SchemaField: Vue.Component<any, any, any, ISchemaFieldProps>
SchemaMarkupField: Vue.Component<any, any, any, ISchema>
SchemaStringField: Vue.Component<any, any, any, Omit<ISchema, 'type'>>
SchemaObjectField: Vue.Component<any, any, any, Omit<ISchema, 'type'>>
SchemaArrayField: Vue.Component<any, any, any, Omit<ISchema, 'type'>>
SchemaBooleanField: Vue.Component<any, any, any, Omit<ISchema, 'type'>>
SchemaDateField: Vue.Component<any, any, any, Omit<ISchema, 'type'>>
SchemaDateTimeField: Vue.Component<any, any, any, Omit<ISchema, 'type'>>
SchemaVoidField: Vue.Component<any, any, any, Omit<ISchema, 'type'>>
SchemaNumberField: Vue.Component<any, any, any, Omit<ISchema, 'type'>>
}
//工厂函数参数属性
interface ISchemaFieldFactoryProps {
components?: {
[key: string]: Vue.Component //组件列表
}
scope?: any //全局作用域,用于实现协议表达式变量注入
}
//SchemaField属性
interface ISchemaFieldProps extends IFieldFactoryProps {
schema?: ISchema //字段schema
scope?: any //协议表达式作用域
name?: string //字段名称
}
//工厂函数
interface createSchemaField {
(props: ISchemaFieldFactoryProps): ComposeSchemaField
}
IFieldFactoryProps 参考 IFieldFactoryProps (opens new window)
ISchema 参考 ISchema