import React from 'react'; import { InteractionProps } from 'react-json-view'; export interface JsonViewProps { /** * @description JSON数据 */ src: object; /** * @description 是否展开所有节点 * @default false */ collapsed?: boolean; /** * @description 主题 * @default 'rjv-default' */ theme?: 'apathy' | 'apathy:inverted' | 'ashes' | 'bespin' | 'brewer' | 'bright:inverted' | 'bright' | 'chalk' | 'codeschool' | 'colors' | 'eighties' | 'embers' | 'flat' | 'google' | 'grayscale' | 'grayscale:inverted' | 'greenscreen' | 'harmonic' | 'hopscotch' | 'isotope' | 'marrakesh' | 'mocha' | 'monokai' | 'ocean' | 'paraiso' | 'pop' | 'railscasts' | 'rjv-default' | 'shapeshifter' | 'shapeshifter:inverted' | 'solarized' | 'summerfruit' | 'summerfruit:inverted' | 'threezerotwofour' | 'tomorrow' | 'tube' | 'twilight'; /** * @description 是否可编辑 * @default false */ onEdit?: ((edit: InteractionProps) => any) | false; /** * @description 是否可添加 * @default false */ onAdd?: ((add: InteractionProps) => any) | false; /** * @description 是否可删除 * @default false */ onDelete?: ((del: InteractionProps) => any) | false; /** * @description 自定义样式类名 */ className?: string; /** * @description 是否显示数据类型 * @default true */ displayDataTypes?: boolean; /** * @description 是否显示对象大小 * @default true */ displayObjectSize?: boolean; /** * @description 是否启用点击弹窗功能 * @default false */ enableClickModal?: boolean; /** * @description 自定义弹窗内容渲染函数 * @param value 当前点击的字符串值 * @returns React节点 */ modalContent?: (value: string) => React.ReactNode; /** * @description 自定义 ReactJson 样式 */ style?: React.CSSProperties; } declare const JsonView: React.FC; export default JsonView;