当前位置: 代码网 > it编程>前端脚本>Vue.js > vue使用vue-json-viewer插件展示JSON格式数据的方法

vue使用vue-json-viewer插件展示JSON格式数据的方法

2024年05月26日 Vue.js 我要评论
1、安装 vue-json-viewer插件npm install vue-json-viewer --save官网地址:https://www.npmjs.com/package/vue-json-

1、安装 vue-json-viewer插件

npm install vue-json-viewer --save

官网地址: https://www.npmjs.com/package/vue-json-viewer

2、引入插件并注册

2.1 全局注册组件

在全局 main.js 中引入,在 main.js 文件中添加:

import jsonviewer from 'vue-json-viewer'
vue.use(jsonviewer)

2.2 单个页面局部引入

import jsonviewer from 'vue-json-viewer'
export default {
   components:{ jsonviewer }
}

3、插件的基础使用

    <json-viewer
      :value="json.parse(jsonstr)"
      :expand-depth="5"
      boxed
      sort
      :show-array-index="false"
      copyable
    >
      <template slot="copy">
        <i class="el-icon-document-copy" title="复制"></i>
      </template>
    </json-viewer>
....
data(){
    return{
        jsonstr:"{\r\n    \"success\": true,\r\n    \"code\": 200,\r\n    \"msg\": \"操作成功\",\r\n    \"data\": \"\"\r\n}"
    }
}

4、插件可选配置说明

4.1 选项

属性描述默认值
valuejson对象的值,可以使用v-model,支持响应式必填
expand-depth默认展开的层级1
copyable展示复制按钮,默认文案为:copy、copied!, 你可以设置一个对象{copytext: ‘copy’, copiedtext: ‘copied’} 来自定义复制按钮文案false
sort按照key排序展示false
boxed为组件添加一个盒样式false
theme添加一个自定义的样式class用作主题 jv-light
expanded默认展开视图false
timeformat自定义时间格式函数time => time.tolocalestring()
preview-mode不可折叠模式,默认全部展开alse
show-array-index是否显示数组索引true
show-double-quotes展示key双引号false

4.2 事件

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

4.3 slots

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

4.4 主题

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

  • 添加 theme=“my-awesome-json-theme” jsonviewer的组件属性
  • 添加 theme=“my-awesome-json-theme” jsonviewer的组件属性
// 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;
        }
      }
    }
  }
}

5、实现效果

总结

到此这篇关于vue使用vue-json-viewer插件展示json格式数据的文章就介绍到这了,更多相关vue-json-viewer展示json数据内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com