0.0.4 • Published 11 months ago

json-schema-editor-vue-sangelxiu1 v0.0.4

Weekly downloads
-
License
Apache-2.0 Licen...
Repository
github
Last release
11 months ago

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节点名称不可编辑Booleanfalse
disabledType节点类型不可选择Booleanfalse
root是否是根节点Booleantrue
custom是否允许添加自定义属性Booleanfalse
lang国际化(可选zh_CN和en_US)Stringzh_CN
extra额外配置属性Objectnull

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

Links