import React from 'react'; import { RendererProps } from 'amis-core'; import { InteractionProps } from 'react-json-view'; import { BaseSchema } from '../Schema'; /** * JSON 数据展示控件。 * 文档:https://baidu.gitee.io/amis/docs/components/json */ export interface JsonSchema extends BaseSchema { /** * 指定为Json展示类型 */ type: 'json' | 'static-json'; /** * 默认展开的级别 */ levelExpand?: number; /** * 支持从数据链取值 */ source?: string; /** * 是否可修改 */ mutable?: boolean; /** * 是否显示数据类型 */ displayDataTypes?: boolean; /** * 是否可复制 */ enableClipboard?: boolean; /** * 图标风格 */ iconStyle?: 'square' | 'circle' | 'triangle'; /** * 是否显示键的引号 */ quotesOnKeys?: boolean; /** * 是否为键排序 */ sortKeys?: boolean; /** * 设置字符串的最大展示长度,超出长度阈值的字符串将被截断,点击value可切换字符串展示方式,默认为false */ ellipsisThreshold?: number | false; } export interface JSONProps extends RendererProps, JsonSchema { levelExpand: number; className?: string; placeholder?: string; jsonTheme: string; hideRoot?: boolean; source?: string; } export declare class JSONField extends React.Component { static defaultProps: Partial; emitChange(e: InteractionProps): boolean; shouldExpandNode({ namespace }: { namespace: Array; }): boolean; render(): JSX.Element; } export declare class JSONFieldRenderer extends JSONField { }