首页 > 其他分享 >vue-json-viewer 展示json数据

vue-json-viewer 展示json数据

时间:2023-06-17 15:55:43浏览次数:38  
标签:vue viewer jv color json &.

vue-json-viewer 展示json数据

当项目需要再网页中展示原始的json数据的时候,我们期望能够对json进行格式化展示,并且能够进行展开和折叠。vue-json-viewer可以帮助我们实现这样的功能。

1. 安装

$ npm install vue-json-viewer@2 --save
// Vue2
$ npm install vue-json-viewer@3 --save
// Vue3

2. 配置

在main.js中添加以下内容,或者在单独的插件文件中添加。

import Vue from 'vue'
import JsonViewer from 'vue-json-viewer'

// Import JsonViewer as a Vue.js plugin
Vue.use(JsonViewer)

引入样式

import 'vue-json-viewer/style.css'

3. 使用

<json-viewer :value="jsonData"></json-viewer>

常用配置:

属性名 描述 是否必传
value JSON data (can be used with v-model) Required
expand-depth 展开层级 1
copyable 展示复制按钮 false
sort 排序 false
boxed 为组件添加一个盒样式 false
theme 添加一个和主题相关的类 jv-light
expanded 默认是否展开 false
timeformat 时间格式化函数 time => time.toLocaleString()
preview-mode 不可折叠模式,默认全部展开 false
show-array-index 展示数组的下标 true

事件

事件 描述
copied 复制文本后的事件
keyclick 点击key的事件

Slots

名称 描述 Scope
copy 自定义拷贝按钮 {copied: boolean}

快捷键

名称 描述
alt + click 展开当前节点下的所有节点

主题

有两个办法创建自定义主题, (e.g. my-awesome-json-theme):

  1. 添加 theme="my-awesome-json-theme" JsonViewer的组件属性
  2. 复制粘贴下面的模板并且根据自定义的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-number-float { color: #fc1e70 }
    &.jv-number-integer { 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;
        }
      }
    }
  }
}

显示:

标签:vue,viewer,jv,color,json,&.
From: https://www.cnblogs.com/Cxymds/p/17487570.html

相关文章

  • 解决vue2中methods写的方法无法使用箭头函数
    1.情况:在method写递归函数,函数内使用了this.变量,报错变量为undefined,原因是function内this指向改变,因改写为箭头函数,使其this不被改变,但是methods内又无法写箭头函数 2.解决:使用var获取this,供函数内使用 ......
  • 使用Docker将Vite Vue项目部署到Nginx二级目录
    Vue项目配置使用Vite创建一个Vue项目,点我查看如何创建配置打包路径在Nginx中如果是二级目录,例如/web时,需要设置线上的打包路径在项目跟路径下创建两个文件:.env.production、.env.development,写入一下内容:##生产环境NODE_ENV='production'VITE_BASE_PATH=/form-design......
  • vue3Props
    一、Props声明一个组件需要显式声明它所接受的props,这样Vue才能知道外部传入的哪些是props,哪些是透传 attribute在使用SFC时,props可以使用defineProps()宏来声明:如子组件中(1)constprops=defineProps(['foo'])(2)constprops=defineProps({ title:String, age......
  • VUE
    vue//注册全局组件//importTitleHeaderfrom'@/vcomponent/TitleHeader'//Vue.component(TitleHeader)//Vue.component("TitleHeader",TitleHeader)auto-complete="new-password"--密码不自动添加:close-on-click-modal="false"--el-dialog......
  • JSON Web Token 入门教程
     JSONWebToken(缩写JWT)是目前最流行的跨域认证解决方案,本文介绍它的原理和用法。一、跨域认证的问题互联网服务离不开用户认证。一般流程是下面这样。1、用户向服务器发送用户名和密码。2、服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、......
  • 前端Vue仿滴滴打车百度地图定位查找附近出租车或门店信息(更新版)
    前端vue仿滴滴打车百度地图定位查找附近出租车或门店信息, 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12982效果图如下:使用方法<!--官方文档:https://dafrok.github.io/vue-baidu-map/#/zh/start/base-->#安装vue-baidu-map插......
  • TienChin 开篇-运行 RuoYiVue
    开篇目的:让大家随心所欲的DIY若依的脚手架不会涉及到太多基础知识踊跃提问(不懂得地方大家提问我会根据提问,后续一一解答疑惑)下载RuoYiVueGitee:https://gitee.com/y_project/RuoYi-Vue下载完毕之后,这个项目当中存在一个ruoyi-ui这个是前端,只是放在了这个项目当中方便我们进......
  • python之json和ymal模块
    json和ymal是常用的数据交换格式,ymal可以看做是json的超集。1json格式json(JavaScriptObjectNotation)是一种轻量级的数据交换格式,常用于在不同系统之间进行数据传输和存储。它由键值对构成的集合组成,通常以文件扩展名.json命名。JSON的结构非常简单,有两种基本的数据结构:1.......
  • Vue.js 组件通信
    学习目录:Vue.js简介Vue.js实例与数据绑定Vue.js计算属性和侦听器Vue.js条件渲染和列表渲染Vue.js事件处理Vue.js表单输入绑定Vue.js组件基础Vue.js组件通信Vue.js插槽Vue.js动态组件和异步组件Vue.js自定义指令Vue.js过渡和动画Vue.js混入Vue.js自定义事件和v-model......
  • Vue全局过滤器的使用以及在template三元运算符中内使用过滤
    新建filters.js如下,内容过滤可以自己写函数,记得export导出importdayjsfrom"dayjs";//转小写letlower=value=>value.toLowerCase();//转大写letupper=value=>value.toUpperCase();letcurrencyStyle=(value,style)=>{//货币格式/***sty......