React中使用react-json-view展示JSON數(shù)據(jù)的操作方法
一、前言
react-json-view
(RJV
)是一個(gè)用于顯示和編輯javascript
數(shù)組和JSON
對(duì)象的React
組件。
1.1、在線demo
1.2、Github
倉(cāng)庫(kù)
二、實(shí)踐
2.1、安裝react-json-view
安裝插件,在這推薦大家在項(xiàng)目中用 yarn
安裝插件,yarn
的出錯(cuò)幾率比npm
低很多。
npm install --save react-json-view // 或者 yarn react-json-view
2.2、組件封裝
/** * @Description: 格式化顯示json數(shù)據(jù) react-json-view * @github https://github.com/mac-s-g/react-json-view * @demo https://mac-s-g.github.io/react-json-view/demo/dist/ * @author 小馬甲丫 * @date 2023-12-06 01:26:47 */ import ReactJsonView from 'react-json-view'; const ReactJson = (props) => { return ( <ReactJsonView name={false} // 根節(jié)點(diǎn)名字 collapsed={false} // 是否收起,true為收起 indentWidth={4} // 縮進(jìn) iconStyle="triangle" src={props.value} theme="grayscale:inverted" enableClipboard // 點(diǎn)擊向左箭頭進(jìn)行復(fù)制 displayObjectSize={false} // 顯示有多少個(gè)items屬性 displayDataTypes={false} // 顯示值的類(lèi)型 sortKeys // 鍵的排序 quotesOnKeys={false} // 是否顯示a鍵的引號(hào) /> ); }; export default ReactJson;
2.3、效果
傳入的數(shù)據(jù)是數(shù)組,如下所示:
2.4、參數(shù)詳解 2.4.1、src
(必須) :JSON Object
默認(rèn)值:無(wú)
需要展示的JSON
數(shù)據(jù)
2.4.2、name
:string
或false
默認(rèn)值:root
JSON
數(shù)據(jù)的根節(jié)點(diǎn)(用默認(rèn)或指定的根節(jié)點(diǎn)包裹自己的數(shù)據(jù)),使用null
或false
沒(méi)有名字
2.4.3、theme
:string
默認(rèn)值:rjv-default
RJV
支持base-16
主題
2.4.4、style
:object
默認(rèn)值:{}
可以通過(guò)style
添加、修改樣式,可覆蓋主題默認(rèn)提供的屬性
2.4.5、iconStyle
:string
默認(rèn)值:triangle
接受參數(shù):circle
(圓)、triangle
(三角形)、square
(圓)
2.4.6、indentWidth
:integer
默認(rèn)值:4
JSON
嵌套對(duì)象的縮進(jìn)值
2.4.7、collapsed
:boolean
默認(rèn)值:false
當(dāng)設(shè)置為true
,默認(rèn)情況下,所有節(jié)點(diǎn)都將被折疊。使用整數(shù)值在特定深度折疊。
2.4.8、collapseStringsAfterLength
:boolean
默認(rèn)值:false
這個(gè)就是超出內(nèi)容會(huì)變成…
的功能。當(dāng)一個(gè)整數(shù)值被賦值時(shí),字符串就會(huì)在這個(gè)長(zhǎng)度后面接上省略號(hào)。可以通過(guò)單擊字符串值來(lái)展開(kāi)和折疊字符串內(nèi)容
2.4.9、shouldCollapse:(field)=>{}
默認(rèn)值:false
回調(diào)函數(shù)來(lái)提供對(duì)默認(rèn)情況下應(yīng)該折疊的對(duì)象和數(shù)組的控制。對(duì)象被傳遞給包含name
, src
, type
(“數(shù)組”或“對(duì)象”)和namespace
2.4.10、displayObjectSize
:boolean
默認(rèn)值:true
當(dāng)設(shè)置為true
,對(duì)象和數(shù)組被標(biāo)記為大小。例如: { a: 'a1',b: 'b1' }
,會(huì)顯示2 items
2.4.11、displayDataTypes
:boolean
默認(rèn)值:true
當(dāng)設(shè)置為true
,數(shù)據(jù)類(lèi)型會(huì)出現(xiàn)在數(shù)據(jù)的前綴值.例如: { a: 123, b: 'b1'}
,會(huì)顯示{ a: int 123, b: string 'b1'}
2.4.12、onEdit
:(edit)=>{}
默認(rèn)值:false
當(dāng)傳入回調(diào)函數(shù)時(shí),edit
功能已啟用。在編輯完成之后調(diào)用回調(diào)。
2.4.13、onAdd
:(add)=>{}
默認(rèn)值:false
當(dāng)傳入回調(diào)函數(shù)時(shí),add
功能已啟用。在完成添加之后調(diào)用回調(diào)。
2.4.14、onDelete
:(delete)=>{}
默認(rèn)值:false
當(dāng)傳入回調(diào)函數(shù)時(shí),delete
功能已啟用。在完成刪除之后調(diào)用回調(diào)。
2.4.15、onSelect
:(select)=>{}
默認(rèn)值:false
當(dāng)傳入函數(shù)時(shí),單擊值將觸發(fā)onSelect
方法將被調(diào)用。
三、最后
到此這篇關(guān)于React中使用react-json-view展示JSON數(shù)據(jù)的文章就介紹到這了,更多相關(guān)react-json-view展示JSON數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
React中的Hooks路由跳轉(zhuǎn)問(wèn)題
這篇文章主要介紹了React中的Hooks路由跳轉(zhuǎn)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12React學(xué)習(xí)之JSX與react事件實(shí)例分析
這篇文章主要介紹了React學(xué)習(xí)之JSX與react事件,結(jié)合實(shí)例形式分析了React中JSX表達(dá)式、屬性、嵌套與react事件相關(guān)使用技巧,需要的朋友可以參考下2020-01-01React類(lèi)組件和函數(shù)組件對(duì)比-Hooks的簡(jiǎn)介
Hook?是?React?16.8?的新增特性,它可以讓我們?cè)诓痪帉?xiě)class的情況下,?使用state以及其他的React特性(比如生命周期,這篇文章主要介紹了React類(lèi)組件和函數(shù)組件對(duì)比-Hooks的介紹及初體驗(yàn),需要的朋友可以參考下2022-11-11詳解如何在項(xiàng)目中使用jest測(cè)試react native組件
本篇文章主要介紹了詳解如何在項(xiàng)目中使用jest測(cè)試react native組件,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02react基于Ant Desgin Upload實(shí)現(xiàn)導(dǎo)入導(dǎo)出
本文主要介紹了react基于Ant Desgin Upload實(shí)現(xiàn)導(dǎo)入導(dǎo)出,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-01-01React中實(shí)現(xiàn)組件通信的幾種方式小結(jié)
在構(gòu)建復(fù)雜的React應(yīng)用時(shí),組件之間的通信是至關(guān)重要的,從簡(jiǎn)單的父子組件通信到跨組件狀態(tài)同步,不同組件之間的通信方式多種多樣,下面我們認(rèn)識(shí)react組件通信的幾種方式,需要的朋友可以參考下2024-04-04