VUE3使用JSON編輯器方式
更新時(shí)間:2023年10月24日 09:04:23 作者:大吉大利的卦象
這篇文章主要介紹了VUE3使用JSON編輯器方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
1、先看看效果圖
可以自行選擇展示效果


2、這是我在vue3項(xiàng)目中使用的JSON編輯器
首先引入第三方插件
npm install json-editor-vue3 yarn add json-editor-vue3
3、引入到項(xiàng)目中
// 導(dǎo)入模塊
import JsonEditorVue from 'json-editor-vue3'
// 注冊組件
components: { JsonEditorVue },
4、一般后端返回的是會(huì)將JSON轉(zhuǎn)為String形式
我們傳給后端也是通過這種形式
就可以通過后端拿到的數(shù)據(jù)進(jìn)行JSON與String之間轉(zhuǎn)換
// 后端拿到的數(shù)據(jù)
configValue:"{\"isBigTree\":true,\"needContact\":true,\"needProvinceCity\":true,\"needDetailAddress\":true,\"needReservationCheckSms\":false,\"BigTreeReservationConfig\":{\"orderApiUrl\":\"https://api.bigtreedev.com/openplatform/openApi/api/order/create/notification/v001?sign=\",\"reservationApiUrl\":\"https://api.bigtreedev.com/openplatform/openApi/api/service/appointment/create/service/appointment/v001?sign=\",\"cancelApiUrl\":\"https://api.bigtreedev.com/openplatform/openApi/api/order/unsubscribe/notification/v001?sign=\",\"companyNo\":\"C400020\",\"verNo\":\"v001\",\"secretKey\":\"72CDFFD7F63D8662B6E1873FEA14EB24\",\"signSecretId\":\"0BBF774D11C0A053A6C2A2E36E6C6C2E2C55D483\"}}"
// 我們通過JSON.parse()進(jìn)行轉(zhuǎn)換
let isJson = JSON.parse(configValue) // 這樣我們拿到的就是JSON格式的了,可以渲染出來的
// 我們傳給后端的數(shù)據(jù)也要將JSON轉(zhuǎn)成字符串,通過JSON.stringify()
let isString = JSON.stringify(configValue) // 這樣我們拿到的就是String格式的了,直接傳給后端
5、例子
<template>
<div>
<json-editor-vue
v-model="jsonData"
class="editor"
:current-mode="currentMode"
/>
</div>
</template>
<script>
// 導(dǎo)入模塊
import JsonEditorVue from 'json-editor-vue3'
export default defineComponent({
name: 'EnterpriseList',
// 注冊組件
components: {
JsonEditorVue,
},
setup() {
const state = reactive({
currentMode: 'tree'
})
return {
...toRefs(state),
}
},
})
}
</script>
6、參數(shù)
| 參數(shù) | 類型 | 描述 | 默認(rèn) |
|---|---|---|---|
| modelValue | Object | 要編輯的json值 | |
| options | Object | jsoneditor的options,參考configuration-options | |
| currentMode | String | 當(dāng)前編輯模式 | code |
| modeList | Array | 可選的編輯模式列表 | [“tree”, “code”, “form”, “text”, “view”] |
| language | Array | 語言 | en |
7、事件
| Name | Description |
|---|---|
| update:modelValue | json 更新 |
| change | json 更新 |
| textSelectionChange | 參考configuration-options對(duì)應(yīng)參數(shù),參數(shù)有重寫,第一個(gè)參數(shù)為編輯器的實(shí)例,后續(xù)參數(shù)與官方參數(shù)相同 |
| selectionChange | 參考configuration-options對(duì)應(yīng)參數(shù),參數(shù)有重寫,第一個(gè)參數(shù)為編輯器的實(shí)例,后續(xù)參數(shù)與官方參數(shù)相同 |
| focus | 參考configuration-options對(duì)應(yīng)參數(shù),參數(shù)有重寫,第一個(gè)參數(shù)為編輯器的實(shí)例,后續(xù)參數(shù)與官方參數(shù)相同 |
| blur | 參考configuration-options對(duì)應(yīng)參數(shù),參數(shù)有重寫,第一個(gè)參數(shù)為編輯器的實(shí)例,后續(xù)參數(shù)與官方參數(shù)相同 |
| colorPicker | 參考configuration-options對(duì)應(yīng)參數(shù),參數(shù)有重寫,第一個(gè)參數(shù)為編輯器的實(shí)例,后續(xù)參數(shù)與官方參數(shù)相同 |
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue 動(dòng)態(tài)表單開發(fā)方法案例詳解
這篇文章主要介紹了vue 動(dòng)態(tài)表單開發(fā)方法,結(jié)合具體案例形式詳細(xì)分析了vue.js動(dòng)態(tài)表單相關(guān)原理、開發(fā)步驟與實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-12-12
Vue3獲取響應(yīng)式數(shù)據(jù)的四種方法
Vue 3 引入了一個(gè)全新的響應(yīng)式系統(tǒng),其中最核心的就是 reactive 和 ref,它們是實(shí)現(xiàn)響應(yīng)式數(shù)據(jù)的基礎(chǔ),用于創(chuàng)建可以自動(dòng)跟蹤變化并更新視圖的對(duì)象和變量,本文介紹了Vue3獲取響應(yīng)式數(shù)據(jù)的四種方法,需要的朋友可以參考下2024-08-08
Vue項(xiàng)目字體文件打包后fonts文件夾消失的原因分析與解決方案
在 Vue 項(xiàng)目中,將字體文件放在 src/assets/fonts 目錄下,打包后在瀏覽器中訪問發(fā)現(xiàn)路徑里不見了 fonts文件夾,這通常不是文件丟失,而是 Vue 的構(gòu)建工具對(duì)靜態(tài)資源進(jìn)行了自動(dòng)化處理,本文給大家介紹了Vue項(xiàng)目字體文件打包后fonts文件夾消失的原因分析與解決方案2026-06-06
解決elementUI 切換tab后 el_table 固定列下方多了一條線問題
這篇文章主要介紹了解決elementUI 切換tab后 el_table 固定列下方多了一條線問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07

