@uiw/react-json-view 如何修改文本省略号、null节点、数组节点等

如何修改

  1. 当文本超过设置shortenTextAfterLength数值时,会显示...,可以通过新版本的参数 stringEllipsis来修改(ts类型不对可忽略),低版本可尝试修改JsonView.Ellipsis
  2. 当传入的数组值为null时(比如{a:null}),该组件值为空白,可通过自定义JsonView.Null修改
  3. 默认的数组显示,会显示索引+分号(比如0:'数组值'),可通过自定义JsonView.KeyName修改key,通过JsonView.Colon修改分号
js 复制代码
      <JsonView
        value={json}
        displayDataTypes={false}
        displayObjectSize={false}
        enableClipboard={false}
        collapsed={false}
        shortenTextAfterLength={5}
        stringEllipsis={'...显示更多'}
      >
        <JsonView.Null
          render={(props, result) => {
            if (result.value === null) {
              return <span {...props}>{result.value + ''}</span>
            }
          }}
        />
        <JsonView.KeyName
          render={(props, result) => {
            //数组不显示对应的索引
            if (Array.isArray(result.parentValue)) {
              return (
                <span {...props} style={{ ...props.style, display: 'none' }}>
                  {result.keyName}
                </span>
              )
            }
          }}
        />
        <JsonView.Colon
          render={(props, result) => {
            //数组不显示对应的分号 :
            if (Array.isArray(result.parentValue)) {
              return (
                <span {...props} style={{ ...props.style, display: 'none' }}>
                  :
                </span>
              )
            }
          }}
        />
      </JsonView>
  )

效果

当传入数据为'{"a":null, "b": ["val1","val2"]}'

修改前

修改后

相关推荐
无糖可可果17 分钟前
从零读懂一个 Next.js 全栈笔记应用
前端
Maxkim17 分钟前
DeepSeek Harness 源码深度分析:像 VS Code 一样插件化的 Agent 框架
前端·架构
喜欢睡觉22 分钟前
从零看懂一个 Next.js 笔记应用
前端
cindershade24 分钟前
从零实现画布「双击创建节点」:一个 VueFlow 项目的交互全记录
前端
YHL24 分钟前
🚀 SSE 服务器发送事件与 BFF 层实战
前端·后端
今日无bug26 分钟前
HTML5 Canvas:从画图到游戏开发
前端·canvas
cindershade28 分钟前
用 Web Workers 优化前端重计算任务:避免主线程卡顿的实战方案
前端
爱丶不疚28 分钟前
搞不清 CommonJS 与 ESM,你是否也有这些疑问🤔
前端·node.js
YIAN33 分钟前
http无状态?State来展示!从基础路由到鉴权守卫,吃透 SPA 前端路由核心
前端·react.js
__zRainy__1 小时前
Node系列 · Node基础:全局变量与全局对象
开发语言·前端·javascript