当前位置:   article > 正文

Vue实现JSON编辑器_vue json 编辑器

vue json 编辑器

效果图

1、默认状态

2、全屏状态

功能介绍

1、按键功能

2、细节介绍
  • 右侧提示按钮为绿色表示格式正确,为红色则错误

  • 支持显示行号并与右侧文本域滚动条联动

  • 最大化时支持实时预览json对象,同时支持错误提示和定位

  • 点击中括号、花括号、大括号时会高亮显示另一半
  • 支持括号、双引号自动补全

组件结构

JsonEditor.vue
  1. <template>
  2. <div ref="center">
  3. <div
  4. style="
  5. border: 1px solid #bac6e7;
  6. padding-left: 5px;
  7. padding-right: 5px;
  8. display: flex;
  9. justify-content: space-between;
  10. "
  11. >
  12. <div style="display: flex; align-items: center">
  13. <eye-outlined class="icon_hover" @click="isPreview = true" title="预览JSON配置" />
  14. <div style="height: 18px; border: 1px solid #858585; margin: 0 3px"></div>
  15. <tool-outlined class="icon_hover" @click="prettyFormat(viewJsonStr)" title="格式化" />
  16. <div style="height: 18px; border: 1px solid #858585; margin: 0 3px"></div>
  17. <line-outlined
  18. class="icon_hover"
  19. @click="viewJsonStr = viewJsonStr.replace(/\s+/g, '')"
  20. title="去除空格"
  21. />
  22. <div
  23. style="
  24. display: flex;
  25. align-items: center;
  26. border-left: 2px solid #858585;
  27. height: 18px;
  28. margin: 0 3px;
  29. padding: 0 3px;
  30. "
  31. >
  32. <fullscreen-outlined
  33. v-if="!isFullScreen"
  34. class="icon_hover"
  35. @click="fullScreen"
  36. title="全屏"
  37. />
  38. <fullscreen-exit-outlined v-else class="icon_hover" @click="fullScreen" title="退出" />
  39. </div>
  40. </div>
  41. <div>
  42. <check-circle-outlined title="格式正确" v-if="isPass" style="color: #63ca31" />
  43. <info-circle-outlined title="格式错误" v-else style="color: red" />
  44. </div>
  45. </div>
  46. <div class="edit-container">
  47. <textarea
  48. wrap="off"
  49. cols="1"
  50. id="leftNum"
  51. disabled
  52. onscroll="document.getElementById('rightNum').scrollTop = this.scrollTop;"
  53. &
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/1001608
推荐阅读
相关标签
  

闽ICP备14008679号