【vue】集成jsoneditor实现自己的json工具

该文章已生成可运行项目,

安装jsoneditor

npm i jsoneditor

编写代码

<template>
  <div class="jsonutil-container">
    <div class="left-box c-shadow">
      <textarea v-model="fromStr"></textarea>
    </div>
    <div class="right-box" id="jsoneditor">

    </div>
  </div>
</template>

<script setup>
import {ref, onMounted, watchEffect} from 'vue'
import JSONEditor from 'jsoneditor'

const fromStr = ref('{\n' +
    '            "Array": [1, 2, 3],\n' +
    '            "Boolean": true,\n' +
    '            "Null": null,\n' +
    '            "Number": 123,\n' +
    '            "Object": {"a": "b", "c": "d"},\n' +
    '            "String": "Hello World"\n' +
    '}')
let editor = null
onMounted(() => {
  const container = document.getElementById('jsoneditor');
  const options = {
  };
  editor = new JSONEditor(container, options);
  editor.set(JSON.parse(fromStr.value))
})


watchEffect(() => {
  if (fromStr.value.length != 0) {
    try {
      editor.set(JSON.parse(fromStr.value))
    } catch (e) {
      console.log(e)
    }

  }

})

</script>

<style scoped lang="less">
.jsonutil-container {
  display: flex;
  justify-content: space-between;
  height: 100%;
}


.left-box{
  width: 35%;
  margin: 0 auto;
  height: 80%;
  background-color: #fff;
}
.right-box{
  width: 60%;
  height: 80%;
}

.left-box > textarea{
  width: 100%;
  height: 100%;
  border: none;
  font-size: 1em;
}

.left-box > textarea:focus,
.right-box > textarea:focus {
  border: none;
  outline: none;
}
</style>

效果展示

完整代码

 完整的代码示例地址在gitee,地址如下,觉得不错的麻烦给个star

toolSet: 一些开发中用过的轮子 - Gitee.com

 

本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值