@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"]}'

修改前

修改后

相关推荐
小小小小宇1 小时前
OpenMemory MCP
前端
和平宇宙2 小时前
AI笔记005. hermes-DeepSeek V4 Pro, 128K上下文引发的探索
前端·人工智能·笔记
IT_陈寒2 小时前
Redis持久化这个坑,我爬了一整天才出来
前端·人工智能·后端
naildingding3 小时前
3-ts接口 Interface
前端·typescript
小小前端仔LC3 小时前
Node.js + LangChain + React:搭建个人知识库(六)- “吃什么”项目实战:从700+菜谱入库到Taro H5端JSON渲染
前端·后端
晓13133 小时前
【Cocos Creator 3.x】篇——第二章 入门
前端·javascript·游戏引擎
程序员黑豆3 小时前
AI全栈开发之Java:怎么配置Java环境变量
前端·后端·ai编程
xiaofeichaichai3 小时前
React Hooks
前端·javascript·react.js
问心无愧05134 小时前
ctf show web入门110
前端·笔记
拉拉肥_King4 小时前
Vue 3 主题切换深度解析:从炫酷动画到零闪烁方案
前端·vue.js