form.item里嵌一个form_分享一个基于codeMirror封装的Json编辑器

前言

这两天有个小需求,就是通过页面导入json数据来完成具体格式数据的存储,页面需要具备一个简单的Json编辑校验的功能。


原本也利用codeMirror做过代码编辑器,今天基于度娘的指导,简单封装一个vue Json编辑器组件,文中的案例代码可以直接拿过去,开箱即用。

本篇公号主要包含以下几个方面的内容:

  • 1. codeMirror概述

  • 2. Json编辑器封装

  • 3. 应用demo

废话不多说,干货分享,大佬绕道。ad4ed2bff471a6c40c92ff51a3e4d3aa.png

一、 codeMirror概述

CodeMirror是使用JavaScript为浏览器实现的多功能文本编辑器。它专门用于编辑代码,并具有实现更高级编辑功能的多种语言模式和附加组件。

官网地址:https://codemirror.net/

感兴趣的朋友可以直接上官网去撸,成熟而强大!

81afea71f8b07d6aac268b607f0e7be8.png

二、Json编辑器封装

上才艺:

  • 1. 安装

npm install vue-codemirror --save
npm install jsonlint --save  #jsonlint 用于json校验报错提示

安装过程中的出现的两个小问题记录:

  • 1.在使用npm install下载依赖的时候报错Unhandled rejection RangeError: Maximum call stack size exceededill install loadIdealTree

网上解释的原因有两种:
  原因一:新版本nodejs与npm最新版本出现不兼容
  处理方式:给npm降级   npm install -g npm@5.4.0
  原因二:网络环境不好,npm装不上。这个时候,你需要删除掉项目中的node_modules,然后重新安装。
我遇到的就是第二种情况。
  • 2.类似这种:Module not found: Error: Can't resolve 'system' in '/Users/IdeaProjects/**/node_modules/jsonlint /lib'

 npm i system --save   #缺啥补啥,上文是缺“system”,那这里就补system

  • 2. 封装组件-JsonEditor

完整的Json编辑器组件代码与部分注释如下:

<div class="json-editor"><textarea ref="textarea" />div>
</template>

直接复制过去,就能用。

三、应用demo

在你需要的页面进行组件的加载即可;简单提一句就是,可以加事件,例如下文中的@input事件,我用它来实时的监控输入的数据是否是标准的的json,好直接进行对象间的传值。

 <el-form ref="addDataByJSONData" ><el-form-item label="输入JSON:"><json-editor ref="jsonEditor" v-model="addDataByJSONData.JSONValue" @input="transferJsonData"/>el-form-item>el-form>
</el-row>
.....

效果图:

b3a3c59f897c11d337e72ab04af10252.png

总结

今天的不开心就止于此吧,明天依旧光芒万丈啊~e7822517f932acc7c3a070c6eb1783a3.png

于千万人之中遇见你所遇见的人,在时间的无涯的荒漠里,没有早一步也没有晚一步的遇上了,那也没有别的话可说,惟有轻轻的问一句:你也在这里吗?选择自己所爱的,爱自己所选择的。一直觉得,等待是一种美好的状态,因为它包含了无数的可能性。我们年龄渐长,愈来愈是觉得钱之可贵,就可能用钱去衡量一切,甚至衡量爱情。

喜欢的朋友,记得点赞?➕关注ed4b4dfcbbe2dc4a40b7e70147b78a08.png

772c0b62d7c658edbf9a974f9e2aa6e5.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值