成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Vue中使用JsonView來(lái)展示Json樹(shù)的實(shí)例代碼

瀏覽:4日期:2022-10-27 17:17:08

前兩天干活兒有個(gè)需求,在前端需要展示可折疊的Json樹(shù),供開(kāi)發(fā)人員查看,這里采用JsonView組件來(lái)實(shí)現(xiàn),它是一款用于展示Json的Vue組件,支持大體積的Json文件快速解析渲染,下面記錄一下實(shí)現(xiàn)過(guò)程。

1.首先先下載好JsonView的組件:JsonView.vue,組件代碼如下:

<template> <div class='bgView'> <div : :style='’font-size:’ + fontSize+’px’'> <span @click='toggleClose' : v-if='length'> </span> <div class='content-wrap'> <p class='first-line'> <span v-if='jsonKey' class='json-key'>'{{jsonKey}}': </span> <span v-if='length'> {{prefix}} {{innerclosed ? (’...’ + subfix) : ’’}} <span class='json-note'> {{innerclosed ? (’ // count: ’ + length) : ’’}} </span> </span> <span v-if='!length'>{{isArray ? ’[]’ : ’{}’}}</span> </p> <div v-if='!innerclosed && length' class='json-body'> <template v-for='(item, index) in items'> <json-view :closed='closed' v-if='item.isJSON' :key='index' :json='item.value' :jsonKey='item.key' :isLast='index === items.length - 1'></json-view> <p v-else :key='index'> <span class='json-key'>{{(isArray ? ’’ : ’'’ + item.key + ’'’)}} </span> : <span class='json-value'>{{item.value + (index === items.length - 1 ? ’’ : ’,’)}} </span> </p> </template> <span v-show='!innerclosed' class='body-line'></span> </div> <p v-if='!innerclosed && length' class='last-line'> <span>{{subfix}}</span> </p> </div> </div> </div></template><script> export default { name: ’jsonView’, props: { json: [Object, Array], jsonKey: { type: String, default: ’’ }, closed: { type: Boolean, default: false }, isLast: { type: Boolean, default: true }, fontSize: { type: Number, default: 13 } }, created() { this.innerclosed = this.closed this.$watch(’closed’, () => { this.innerclosed = this.closed }) }, data() { return { innerclosed: true } }, methods: { isObjectOrArray(source) { const type = Object.prototype.toString.call(source) const res = type === ’[object Array]’ || type === ’[object Object]’ return res }, toggleClose() { if (this.innerclosed) { this.innerclosed = false } else { this.innerclosed = true } } }, computed: { isArray() { return Object.prototype.toString.call(this.json) === ’[object Array]’ }, length() { return this.isArray ? this.json.length : Object.keys(this.json).length }, subfix() { return (this.isArray ? ’]’ : ’}’) + (this.isLast ? ’’ : ’,’) }, prefix() { return this.isArray ? ’[’ : ’{’ }, items() { if (this.isArray) { return this.json.map(item => { const isJSON = this.isObjectOrArray(item) return { value: isJSON ? item : JSON.stringify(item), isJSON, key: ’’ } }) } const json = this.json return Object.keys(json).map(key => { const item = json[key] const isJSON = this.isObjectOrArray(item) return { value: isJSON ? item : JSON.stringify(item), isJSON, key } }) } } }</script><style> .bgView { background-color: #fafafa; } .json-view { position: relative; display: block; width: 100%; height: 100%; white-space: nowrap; padding-left: 20px; box-sizing: border-box; } .json-note { color: #909399; } .json-key { color: rgb(147, 98, 15); } .json-value { color: rgb(24, 186, 24); } .json-item { margin: 0; padding-left: 20px; } .first-line { padding: 0; margin: 0; } .json-body { position: relative; padding: 0; margin: 0; } .json-body .body-line { position: absolute; height: 100%; width: 0; border-left: dashed 1px #bbb; top: 0; left: 2px; } .last-line { padding: 0; margin: 0; } .angle { position: absolute; display: block; cursor: pointer; float: left; width: 20px; text-align: center; left: 0; } .angle::after { content: ''; display: inline-block; width: 0; height: 0; vertical-align: middle; border-top: solid 4px #333; border-left: solid 6px transparent; border-right: solid 6px transparent; } .angle.closed::after { border-left: solid 4px #333; border-top: solid 6px transparent; border-bottom: solid 6px transparent; }</style>

2.在需要使用的vue頁(yè)面中引用JsonView組件

import JsonView from ’@/components/JsonView’

3.定義Json數(shù)據(jù)變量

jsonData:{},

4.頁(yè)面展示代碼

<JsonView :json='jsonData'></JsonView>

5.實(shí)現(xiàn)效果如下:

Vue中使用JsonView來(lái)展示Json樹(shù)的實(shí)例代碼

JsonViewAttributes

Vue中使用JsonView來(lái)展示Json樹(shù)的實(shí)例代碼

到此這篇關(guān)于Vue之使用JsonView來(lái)展示Json樹(shù)的文章就介紹到這了,更多相關(guān)Vue使用JsonView展示Json樹(shù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Vue
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
一区二区高清视频在线观看| 国产一区三区三区| 蜜臀99久久精品久久久久久软件| 亚洲三级视频| 国产精品黄色在线观看| 97精品国产露脸对白| 欧美一区二区三区四区五区| 麻豆91小视频| 欧美私人免费视频| 日本大胆欧美人术艺术动态| 免费欧美日韩| 亚洲自拍偷拍网站| 99热精品在线观看| 中文字幕一区二区三区蜜月| 欧美亚韩一区| 日本一区二区综合亚洲| 92精品国产成人观看免费| 精品乱人伦小说| 成人三级伦理片| 欧美成人a∨高清免费观看| 成人午夜激情影院| 2017欧美狠狠色| 91丨porny丨中文| 国产午夜一区二区三区| 欧美精品18| 国产精品久久久久桃色tv| 亚洲午夜精品一区二区| 亚洲欧美日韩中文字幕一区二区三区| 激情久久一区| 亚洲精品视频自拍| 欧美专区在线| 免费在线观看视频一区| 在线观看网站黄不卡| 免费成人你懂的| 欧美日韩一二三| 国产成人综合在线| 久久久久久久久一| 国产精品啊v在线| 亚洲精品高清视频在线观看| 亚洲一区亚洲| 免费成人在线观看| 3atv一区二区三区| av电影一区二区| 国产精品人妖ts系列视频| 亚洲电影专区| 午夜影院在线观看欧美| 欧美色手机在线观看| 成人性生交大片免费看中文 | 欧美三级第一页| 亚洲精品日韩综合观看成人91| 蜜桃久久av| 激情久久五月天| 久久综合狠狠综合久久激情 | 国产精品国产三级国产aⅴ入口 | 美女一区二区三区| 欧美日韩国产美| 波多野结衣亚洲一区| 国产精品国产三级国产专播品爱网| 日韩亚洲国产精品| 亚洲电影第三页| 欧美日韩一区二区电影| www.在线欧美| 亚洲国产精品v| 亚洲裸体俱乐部裸体舞表演av| 日韩精品一二三四| 精品美女一区二区三区| 1024成人| 久久精品国产精品亚洲综合| 日韩精品一区国产麻豆| 欧美日韩第一区| 天天综合网 天天综合色| 欧美一区二区在线视频| 欧美涩涩网站| 视频精品一区二区| 日韩一区二区高清| 亚洲高清网站| 久草精品在线观看| 久久久777精品电影网影网 | 日韩欧美的一区二区| 在线成人www免费观看视频| 日本美女视频一区二区| 久久久久国产成人精品亚洲午夜| 国产欧美在线| 国产成人欧美日韩在线电影| 1000精品久久久久久久久| 欧美亚洲丝袜传媒另类| 色综合色综合色综合色综合色综合| 亚洲精品欧美激情| 69堂国产成人免费视频| 国自产拍偷拍福利精品免费一| 香蕉av福利精品导航| 欧美电视剧免费观看| 99亚洲伊人久久精品影院红桃| 国模大尺度一区二区三区| 国产精品久久久久久久蜜臀| 91成人看片片| 欧美日本一区二区高清播放视频| 日韩经典一区二区| www久久精品| 久久久亚洲人| 午夜精品亚洲一区二区三区嫩草| 日韩高清中文字幕一区| 国产精品视频在线看| 欧美色图片你懂的| 国内精品久久久久久久果冻传媒| 久久国产精品72免费观看| 中文字幕不卡一区| 欧美性大战久久久久久久蜜臀| 欧美日韩一区二区视频在线| 久久99国产精品久久| 成人免费视频在线观看| 欧美一区二区视频免费观看| 国产精品有限公司| 99re视频精品| 麻豆成人久久精品二区三区红| 中文字幕一区二区三区在线不卡| 欧美日产国产精品| 国产精品一区二区a| 91免费视频观看| 精久久久久久久久久久| 亚洲人被黑人高潮完整版| 日韩欧美国产一区在线观看| 西西裸体人体做爰大胆久久久| 豆国产96在线|亚洲| 日韩黄色免费电影| 亚洲欧洲日产国产综合网| 日韩欧美在线一区二区三区| 一本久道久久综合中文字幕| 国产一区二区中文| 粉嫩高潮美女一区二区三区| 日本不卡视频在线| 亚洲视频中文字幕| 久久久久国产精品麻豆| 91精品福利在线一区二区三区| 一本高清dvd不卡在线观看| 亚洲国产欧美国产综合一区| 丁香婷婷综合网| 蜜臀av一区二区三区| 亚洲精品乱码久久久久久黑人 | 亚洲女同女同女同女同女同69| 欧美哺乳videos| 欧美性高清videossexo| 美女主播一区| 亚洲日韩成人| 国内精品福利| 99re亚洲国产精品| 国产成人综合在线观看| 精品一区二区三区视频在线观看| 性做久久久久久久免费看| 亚洲欧美另类小说视频| 中日韩av电影| 久久久久亚洲蜜桃| 日韩免费看的电影| 欧美日韩一区二区三区免费看 | 麻豆精品在线观看| 亚洲v精品v日韩v欧美v专区| 成人免费在线视频观看| 久久久久久影视| 日韩欧美国产综合| 欧美精品 日韩| 欧美中文一区二区三区| 久久综合婷婷| 久久久久久久久久码影片| 国产欧美日韩视频一区二区三区| 红桃视频国产精品| 韩国亚洲精品| 亚洲午夜激情| 亚洲第一黄网| 亚洲福利国产| 亚洲国产日韩在线| 亚洲高清资源综合久久精品| 国产精品二区二区三区| 欧美午夜欧美| 欧美日本亚洲韩国国产| 欧美极品一区| 国产精品xvideos88| 亚洲国产精品一区| 亚洲网站啪啪| 亚洲性图久久| 红桃视频亚洲| 99精品国产福利在线观看免费| 国产精品黄色| 激情欧美国产欧美| 亚洲国产精品综合| 国产精品毛片在线看| 免费日韩视频| 色偷偷一区二区三区| 色成年激情久久综合| 日本精品一级二级| 欧美在线色视频| 欧美日韩精品免费| 欧美一区二区播放| 久久久一区二区三区捆绑**| 国产日韩欧美a| 国产精品青草久久| 一区二区三区欧美日| 亚洲va欧美va人人爽午夜| 久久精品免费观看| 国产成+人+日韩+欧美+亚洲| 91一区在线观看|