vue编辑器 网页店铺装修 快速开发模板 npm版 vue jsonschema form
本编辑器提取于开源项目:Vue JSON Schema Form
其中的编辑器部分
提取出来是为了方便二次开发使用及学习
原作者:柳俊
官方网站:https://vue-json-schema-form.lljj.me/
源码地址:https://github.com/yongjiu8/vue-editor
主要目录结构:
├─router vue路由目录
│ └─routes
└─views
└─editor
├─assets 资源目录
│ └─img
├─common 公用的
├─components vue组件
│ └─skeleton
├─config 编辑器的原始数据js 打开页面是根据原始数据加载页面模块 重要
├─fieldComponents
│ └─linkImgField 覆盖默认field 做个性商品选择和链接输入
├─viewComponents PC端的组件 重要
│ ├─AllGoodsList
│ │ └─component
│ ├─CarouselImg
│ ├─CategoryGoods
│ ├─Coupon
│ │ └─component
│ ├─FlashSaleGoodsList
│ ├─MultipleImg1_3
│ │ └─component
│ ├─MultipleImg2_3
│ ├─MultipleImg5
│ ├─RecommendedGoodsList
│ │ └─component
│ ├─Text
│ └─_commonConfig
│ ├─error
│ └─ui
└─viewComponentsM 移动端的组件 重要
├─CarouselImg
├─CategoryList
├─RecommendGoods
├─Test
└─Text
主要注意红色部分的目录
现在开始一个简单示例:
我们新添加一个PC端的textGride示例
我们在pc的组件目录viewComponents 创建文件夹 textGride
然后再文件夹下创建我们布局组件:View.vue
写一个简单网格的布局 这是我们组件的页面部分
根据自己的需求,写成什么样子都由自己决定
这里只是简单举个实例
注意这个组件的名字:TextGrideView 后边一定要加上View 否则编辑器在注册组件的时候将找不到组件
<template><div class="box-home"><divv-for="(it, index) in formData.texts":key="index"class="item">{{ index + ':' + it }}</div></div>
</template><script>
export default {name: 'TextGrideView',props: {formData: {type: Object,default: () => ({})}}
};
</script><style lang="css" scoped>
.box-home {width: 100%;height: 300px;display: flex;flex-direction: row;flex-wrap: wrap;justify-items: center;justify-content: space-evenly;align-items: center;align-content: space-evenly;
}
.item {width: 26%;height: 50px;text-align: center;line-height: 50px;vertical-align: middle;font-size: 30px;color: #999999;border: 1px solid orange;
}
</style>
然后在创建:propsSchema.json
这个是用于生成表单数据的json
就是这部分:
{"$schema": "http://json-schema.org/draft-07/schema#","id": "TextGride","type": "object","properties": {"texts": {"title": "配置多文本","description": "配置多文本,最多10个","type": "array","minItems": 1,"maxItems": 10,"items": {"title": "文本配置","type": "string","default": "默认"},"required": ["items"]}}
}
这里的具体配置意思请看官方指南:https://vue-json-schema-form.lljj.me/zh/guide/
总之这个配置就是为了生成表单
然后再创建一个 uiSchema.js
这个用来配置我们生成表单界面的配置
export default {texts: {'ui:options': {showIndexNumber: true}}
};
我这里只配置了显示索引号 就是图中箭头所指部分
更多配置 请看官方指南:https://vue-json-schema-form.lljj.me/zh/guide/basic-config.html#ui-schema
最后创建 index.js
用于暴露出我们的view 和 数据
import propsSchema from './propsSchema.json';
import uiSchema from './uiSchema.js';const View = () => import('./View.vue');export default {View,propsSchema,uiSchema
};
这里注意暴露出的 View propsSchema uiSchema 名称不能改变 否则编辑器将读取不到数据 报错
到这里我们的组件就编写完毕了
目录结构图示:
最后我们要把写好组件添加到组件区
就是图片所示区域
这里我们只需要两步即可:
1.编辑config下的tools.js
先导入我们的组件
// 多文本
import textGride from '../viewComponents/TextGride';
2.然后在下面的数组数据里面加上我们组件的配置:
title:组件的标题 maxNum:最多能在编辑器里面放的个数 icon:elementUi的图标 componentPack:我们写的组件
运行之后我们就能看到:
然后我们把组件拖到 编辑器里面 可以正常使用 大功告成
最后我们再来看一下提交的数据正不正确:
ok一切正常
以上只是简单的实例
更复杂的操作,请阅读官方指南
官方QQ交流群:146845780
vue编辑器 网页店铺装修 快速开发模板 npm版 vue jsonschema form相关推荐
- html5快速开发模板生成器,推荐一个基于Vue 的 H5 快速开发模板
本项目以基于 vue-cli4 和 Vant-ui 搭建的,进行移动端开发中的一些最佳实践方案 模板地址 动动你的小手点颗star 样式适配 在移动端网页开发时,样式适配始终是一个绕不开的问题.对此目 ...
- 基于React和SpringBoot的快速开发模板QuickAdmin
经过一段时间的总结和完善,我的管理系统快速开发模板已经基本成型,现在GitHub上开源啦: QuickAdmin QuickAdmin是基于Spring Boot和React.js实现的管理系统开发框 ...
- 基于PyQt5的快速开发模板系统-Excle数据批量导入及导出表格数据为Excle
基于Python和PyQt5的快速开发模板系统-Excle数据批量导入显示及表格数据导出 基于PyQt5按钮控制实现excle数据批量导入及当前表格存在数据的批量导出,可在此基础上进行功能扩展. 1. ...
- 喜讯!OpenJWeb2.6快速开发平台开源版正式对外发布
OpenJWeb2.6快速开发平台开源版正式对外发布(含源代码) OpenJWeb开发团队为了普及平台的应用,现已正式对外发布开源版本.开源版本下载地址为 http://www.openjweb.co ...
- Jeecg-Boot 2.0.0 版本发布,基于Springboot+Vue 前后端分离快速开发平台
Jeecg-Boot 2.0.0 版本发布,前后端分离快速开发平台 Jeecg-Boot项目简介 源码下载 升级日志 Issues解决 v1.1升级到v2.0不兼容地方 系统截图 Jeecg-Boot ...
- framework-admin-vue3 管理系统快速开发模板
一.创建 基于Vue3.ElementPlus框架.工程化工具Vite进行构建.此模板可用于现代化管理系统的初始开发模板,可节省一些重复性的工程初始化搭建工作. 二.特性 使用pnpm作为包下载工具, ...
- 几款特别好看的springboot快速开发模板
1. SpringBoot_v2: SpringBoot_v2项目是努力打造springboot框架的极致细腻的脚手架.原生纯净,可在线生成controller.mapperxml.dao.serv ...
- Vue - 去除控制台“你正在开发模式下运行Vue”的警告
目录 1. 警告内容 2. 解决方案 1. 警告内容 调试 Vue 代码时,Console 控制台老是有警告,警告内容 文字信息如下: You are running Vue in developme ...
- vue lang_推荐一个基于Vue 的 H5 快速开发模板
关注 Vue社区,回复"加群" 加入我们一起学习,天天进步 praise juejin.im/post/5e612534e51d4527017971a2 模板基于 vue-cli4 ...
最新文章
- Linux(CentOS 7_x64位)系统下安装RDkit(修正)
- COM:根系-土壤-微生物互作
- python中的time库安装步骤-python中time模块需要安装么
- java怎么判断字符串是否为空的几种方法(亲测)
- cygwin 编译 android vlc,Cygwin 编译 VLC 问题
- 虚拟桌面分屏_桌面中的灭霸 三星C49HG90 32:9超带鱼屏体验
- Pytorch —— BN、LN、IN、GN
- ThinkPHP文件目录说明
- dubbo发布webservice服务
- 5v继电器模块实物接线_继电器实物接线图
- 双网卡 跃点_有关win7 pppoe拨号网络的跃点数及win7 多路internet访问带宽叠加 - Microsoft Community...
- 解析:Are We Really Making Much Progress?A Worrying Analysis of Recent Neural Recommendation Approaches
- 思科 交换机 全局、telnet、consol 密码配置
- 不应该只做你喜欢的事,而是去做让自己更伟大的事
- 谈Objective-C Block的实现(转载唐巧)
- 巴西龟饲养日志----冬眠苏醒
- 【Git】从安装配置到简单使用
- revit阶梯剖的创建方法及快速剖面操作
- 调用百度人体分析api 实现人体分析
- iOS - 定制多样式二维码