前端高颜值展示 JSON 数据?你这反向优化啊?

开发 前端
由于 json-editor-vue3 使用的是 commonjs 的方式,所以你直接在 Vite 项目中使用的话,会报错 does not provide an export named 'default',不要慌,只需要按照下面去做。

最近公司内部需要做一个后台缓存的可视化平台,其实后台缓存都是一些JSON数据,所以其实是需要做一个 JSON 展示页面。

前后使用了两个 JSON 展示库,跟大家分享一下:

vue3-json-viewer

首先需要安装这个库 vue3-json-viewer

pnpm install vue3-json-viewer

在main文件中全局引入;

import JsonViewer from "vue3-json-viewer";
import "vue3-json-viewer/dist/index.css"; // 引入样式

app = createApp(App);
app.use(JsonViewer)

在页面中去使用:

图片图片

这个库展示 JSON 是挺好看的,看以下结果:

图片

但是它有一个缺点就是,它展示的 JSON 数据是延迟加载的,当数据多的时候,请看以下,这个库为了性能优化,所以当数据量大的时候,后面的节点都是采用 延迟加载的方式。

图片

虽然这样能优化渲染性能,但是有一个很大的缺点,那就是后面的节点无法被及时搜索到。

因为产品经理说,使用者喜欢使用浏览器的 Ctrl + F掉出搜索框,来搜索缓存数据,但是如果延迟加载的话,那么后面的数据肯定无法被及时搜索到。

图片

json-editor-vue3

考虑到上面那些之后,最后还是选择了 json-editor-vue3。

pnpm install json-editor-vue3
import Vue from 'vue'
import JsonEditorVue from 'json-editor-vue3'
 
Vue.use(JsonEditorVue)

由于 json-editor-vue3 使用的是 commonjs 的方式,所以你直接在 Vite 项目中使用的话,会报错 does not provide an export named 'default',不要慌,只需要按照下面去做

// vite.config.js
import { viteCommonjs } from '@originjs/vite-plugin-commonjs'
export default defineConfig({
  plugins: [vue(),viteCommonjs()],
})

页面中使用:

图片图片

可以看到当 currentMode = "code"时,就是纯文本模式,这个时候,这个插件会帮我们一次性加载所有的 JSON 数据,而不是延迟加载,这样的话数据就能被使用者及时搜索到了!

而且这个库还提供了筛选、模式切换、全屏、编辑等实用功能。

图片

责任编辑:武晓燕 来源: 前端之神
相关推荐

2024-07-26 21:35:11

2023-09-11 15:32:59

2023-02-12 21:42:15

2019-09-25 17:22:31

戴尔

2022-04-27 08:42:20

Markdown编辑神器

2015-11-02 09:38:22

颜值外貌美女

2023-01-05 09:01:05

UI组件库微信

2023-09-26 08:54:24

2022-11-29 08:45:44

Vue 3UI 组件库

2016-04-11 11:39:16

编程语言排行榜

2016-11-22 16:34:11

githubgit前端

2022-12-12 16:35:11

2023-07-26 07:02:04

2024-02-19 00:00:00

Git可视化工具

2022-10-09 09:38:10

高可用设计

2019-07-29 10:39:39

前端性能优化缓存

2016-08-08 15:22:11

课程

2022-11-30 15:33:39

Vue 3组件
点赞
收藏

51CTO技术栈公众号