RecursionField (简易递归)
描述
递归渲染组件,主要基于JSON-Schema做递归渲染,它是SchemaField组件内部的核心渲染组件,当然,它是可以独立于 SchemaField 单独使用的,我们使用的时候主要是在自定义组件中使用,用于实现具有递归渲染能力的自定义组件
签名
ts
interface IRecursionFieldProps {
schema: Schema // schema对象
name?: string // 路径名称
basePath?: FormPathPattern // 基础路径
onlyRenderProperties?: boolean // 是否只渲染properties
onlyRenderSelf?: boolean // 是否只渲染自身,不渲染properties
mapProperties?: (schema: Schema, name: string) => Schema // schema properties映射器,主要用于改写schema
filterProperties?: (schema: Schema, name: string) => boolean // schema properties过滤器,被过滤掉的schema节点不会被渲染
}
type RecursionField = Vue.Component<IRecursionFieldProps>用例
我们可以从组件属性中读取独立的 schema 对象,传给 RecursionField 渲染