跳到主要内容

Schema 与编辑器组件

适用对象:已经确定会继续写 Schema,但想确认平台是否已经内建了动态渲染、预览或代码编辑类组件的开发者。

使用场景

  • 你想动态加载一个已存在的 Schema
  • 你想在平台里提供带开关的 Schema 编辑器
  • 你想先预览动态渲染出来的 Schema

动态渲染 JSON Schema

基本使用

{
"type": "amis-schema",
"schemaId": ""
}

属性表

属性名类型默认值说明
typestringtype 指定为 AmisSchema 渲染器
sourcestring | API 动态选项组
schemaIdstring已经定义好的 JSON Schema 的标识符,优先级低于source属性

带开关的代码编辑器

用于实现代码编辑器,支持两种展示形式。

基本使用

{
"type": "amis-schema-editor",
"onText": "使用自定义组件",
"offText": "使用默认组件",
"placeholder": "请输入自定义组件的Schema",
"showSwitch": true
},

属性表

下列属性为 amis-schema-editor 独占属性,更多属性用法,参考FormItem 普通表单项

属性名类型默认值说明
typestringtype 指定为 AmisSchemaEditor 渲染器
showSwitchbooleanfalse展示形式, 详见showSwitch
placeholderstring代码编辑器占位描述,没有值的时候展示
styleobject代码编辑器自定义样式
classNamestring代码编辑器外层 Dom 的类名
onTextstring | IconSchemashowSwitch 为 true 生效,开启时开关显示的内容
offTextstring | IconSchemashowSwitch 为 true 生效,关闭时开关显示的内容

showSwitch

说明
增加开关控制
常规编辑器形式展示
  • 以开关的形式展示

    开关被打开形式

  • 常规编辑器形式展示

    常规形式

IconSchema

属性名类型默认值说明
typestringicon
iconstringicon 的类型

预览动态渲染的 JSON Schema

注意

和 AmisSchema 组件有什么区别?

基本使用

{
"type": "amis-schema-preview",
"schemaId": ""
}

属性表

属性名类型默认值说明
typestringtype 指定为 AmisSchemaPreview 渲染器
sourcestring | API 动态选项组
schemaIdstring已经定义好的 JSON Schema 的标识符,优先级低于source属性