Skip to content

zyqwst/json-schema-editor-vue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Start Fork GitHub open issues npm download npm download per month npm version MIT License

A json-schema editor of high efficient and easy-to-use, base on Vue

如果你使用Vue3,请查看 json-schema-editor base on Vue3

支持自定义属性,满足特殊的需求

Example

Demo http://json-schema.sviip.com

国内Demo

Usage

# vue2
npm install json-schema-editor-vue
# vue3 
npm install json-schema-editor-vue3
import JsonSchemaEditor from 'json-schema-editor-vue'
import 'json-schema-editor-vue/lib/json-schema-editor-vue.css'
Vue.use(JsonSchemaEditor)
<template>
  <div id="app">
    ...
    <json-schema-editor :value="tree"/>
    ...
  </div>
</template>

<script>
export default {
  name: 'App',
  data() {
    return {
      tree:
      {
        root: {
          type: "object"
        }
      }
    }
  }
}
</script>

额外配置

如果要对json schema增加额外的属性时可以使用extra参数配置额外属性,比如想要对integer和string增加default属性,支持的参数类型有:'string', 'number', 'integer','object', 'array', 'boolean'。

额外属性配置

<json-schema-editor
  :value="tree"
  disabledType
  lang="zh_CN"
  custom
  :extra="extraSetting"
/>

data() {
    return {
      extraSetting: {
        integer: { // 对integer生效
          default: {
            name: "默认值",
            type: "integer",
          },
        },
        string: { // 对string类型生效
          default: {
            name: "默认值",
            type: "integer", // default配置可输入的值类型
          },
        },
      },
      tree: {
        root: {
          type: "object",
          title: "条件",
          properties: {
            name: {
              type: "string",
              title: "名称",
              maxLength: 10,
              minLength: 2,
            },
            appId: {
              type: "integer",
              title: "应用ID",
              default: 3,
            },
            credate: {
              type: "string",
              title: "创建日期",
              format: "date",
            },
          },
          required: ["name", "appId", "credate"],
        },
      },
    };
  },

json-schema-editor-vue属性说明如下:

属性 说明 类型 是否必须 默认值
value 传入一个默认的树节点,用来接收编辑后的json schema结果 Object
disabled 节点名称不可编辑 Boolean false
disabledType 节点类型不可选择 Boolean false
root 是否是根节点 Boolean true
custom 是否允许添加自定义属性 Boolean false
lang 国际化(可选zh_CN和en_US) String zh_CN
extra 额外配置属性 Object null

Don't forget to star if it helped! 如果对您有帮助,别忘记给个星哦

Links

About

A json-schema editor of high efficient and easy-to-use, base on Vue

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages