vue-json-viewer实现JSON数据的高亮、可折叠、可复制功能
AI 概述
使用步骤:主题其他参数选项相关链接
最近在开发一个公司的管理系统的操作日志模块,需要查看某条日志的时候,要将请求数据以 JSON 格式展示出来,于是就用到了 vue-json-viewer 这个组件,特此整理学习。
以下是实现的效果:
使用步骤:
1. 安装 vue-json-viewer 组件
npm install vue-json-viewer -...
目录
最近在开发一个公司的管理系统的操作日志模块,需要查看某条日志的时候,要将请求数据以 JSON 格式展示出来,于是就用到了 vue-json-viewer 这个组件,特此整理学习。
以下是实现的效果:

使用步骤:
1. 安装 vue-json-viewer 组件
npm install vue-json-viewer --save
2. 引入插件
引入插件有两种方式,既可以全局引入,也可以在单个页面文件中引入该组件。
如果在全局 main.js 中引入,那么全局可用,无需在单独页面的 components 中注入 JsonViewer,可直接调用组件,代码如下:
// main.js 全局引入 import Vue from 'vue' import JsonViewer from 'vue-json-viewer' Vue.use(JsonViewer)
如果在单页面中只需要引入 import JsonViewer from 'vue-json-viewer' ,然后在 components 中注入 JsonViewer 组件,即可正常使用,代码如下:
// vue 单页面文件中引入
<script>
// 引入组件
import JsonViewer from 'vue-json-viewer'
export default {
// 注册组件
components:{
JsonViewer
}
}
</script>
3. 使用插件
<json-viewer :value="content" copyable theme="my-awesome-json-theme"></json-viewer>
相关配置参数解释:
- value 代表显示的 JSON 数据;
- copyable 表示可以复制;
- theme 表示要引入的样式,引入的样式会覆盖默认的样式,如果对默认的样式不满意的话可以用这种方式进行重写,一般情况下用默认的就好,可以不用指定这个参数。
主题
添加 theme="my-awesome-json-theme" JsonViewer 的组件属性,
复制粘贴下面的模板并且根据自定义的 theme 名称做对应调整:
// values are default one from jv-light template
.my-awesome-json-theme {
background: #fff;
white-space: nowrap;
color: #525252;
font-size: 14px;
font-family: Consolas, Menlo, Courier, monospace;
.jv-ellipsis {
color: #999;
background-color: #eee;
display: inline-block;
line-height: 0.9;
font-size: 0.9em;
padding: 0px 4px 2px 4px;
border-radius: 3px;
vertical-align: 2px;
cursor: pointer;
user-select: none;
}
.jv-button { color: #49b3ff }
.jv-key { color: #111111 }
.jv-item {
&.jv-array { color: #111111 }
&.jv-boolean { color: #fc1e70 }
&.jv-function { color: #067bca }
&.jv-number { color: #fc1e70 }
&.jv-object { color: #111111 }
&.jv-undefined { color: #e08331 }
&.jv-string {
color: #42b983;
word-break: break-word;
white-space: normal;
}
}
.jv-code {
.jv-toggle {
&:before {
padding: 0px 2px;
border-radius: 2px;
}
&:hover {
&:before {
background: #eee;
}
}
}
}
}
其他参数选项
| 属性 | 描述 | 默认值 |
|---|---|---|
value |
json 对象的值,可以使用 v-model,支持响应式 | 必填 |
expand-depth |
默认展开的层级 | 1 |
copyable |
展示复制按钮,默认文案为:copy、copied!, 你可以设置一个对象{copyText: 'copy', copiedText: 'copied'} 来自定义复制按钮文案 |
false |
sort |
按照 key 排序展示 | false |
boxed |
为组件添加一个盒样式 | false |
theme |
添加一个自定义的样式 class 用作主题 | jv-light |
相关链接
Github 地址:点击这里
NPM 地址:点击这里
以上关于vue-json-viewer实现JSON数据的高亮、可折叠、可复制功能的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » vue-json-viewer实现JSON数据的高亮、可折叠、可复制功能
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » vue-json-viewer实现JSON数据的高亮、可折叠、可复制功能

微信
支付宝