vue3安装vue3-json-viewer

vue3安装vue3-json-viewer

🌈 官方文档

效果图

image-20220915160052967

安装

npm i vue3-json-viewer@2.2.2
提醒

2.1.0以下版本需要依赖clipboard

2.1.0以上版本不需要依赖clipboard

使用

<script lang="ts" setup>
import { ref, reactive, inject, onMounted, nextTick } from "vue";

  

import { JsonViewer } from "vue3-json-viewer";
import "vue3-json-viewer/dist/index.css";

const obj = {
  name: "qiu",
  age: 18,
  isMan: false,
  date: new Date(),
  fn: () => { },
  arr: [1, 2, 5]
};

const jsonData = reactive(obj);

</script>

<template>
  <div>
    <JsonViewer :value="jsonData" copyable boxed sort />
  </div>
</template>

<style scoped>
:deep(.jv-container .jv-code.boxed) {
  max-height: 420px;
}

:deep(.jv-container .jv-code) {
  overflow-x: hidden !important;
  overflow-y: scroll !important;
}
</style>

属性

属性描述默认值是否必填
valuejson数据源
copyable复制按钮false
boxed卡片风格false
sort排序false
theme主题light(light || dark)
expandDepth展开层数1
expanded自动展开false

事件

事件描述回调值
onKeyClick点击key触发被点击key

添加ts支持(可选)

在项目src目录下创建vue3-json-viewer.d.ts

declare module 'vue3-json-viewer' {
    import { AllowedComponentProps, App, Component, ComponentCustomProps, VNodeProps } from 'vue'
    interface JsonViewerProps {
        value: Object | Array<any> | string | number | boolean; //对象
        expanded: boolean; //是否自动展开
        expandDepth: number; //展开层级
        copyable: boolean | object; //是否可复制
        sort: boolean;//是否排序
        boxed: boolean;//是否boxed
        theme: string;//主题 dark | light
        previewMode: boolean;//是否可复制
        timeformat: (value: any) => string
    }
    type JsonViewerType = JsonViewerProps & VNodeProps & AllowedComponentProps & ComponentCustomProps
    const JsonViewer: Component<JsonViewerType>
    export { JsonViewer }
    const def: { install: (app: App) => void }
    export default def
}
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值