jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
28 lines (27 loc) • 1.1 kB
TypeScript
import React from 'react';
import type { JSONSchema, LocaleProps, ThemeProps } from 'jamis-core';
import { DataSchema } from 'jamis-core';
import type { VariableItem } from '../../types';
export interface SchemaVariableListProps extends LocaleProps, ThemeProps {
schemas?: Array<JSONSchema> | JSONSchema;
value?: string;
onSelect?: (value: string, schema: JSONSchema) => void;
selectMode?: 'list' | 'tree' | 'tabs';
placeholderRender?: (props: any) => JSX.Element | null;
beforeBuildVariables?: (dataSchema: DataSchema) => void;
}
export interface SchemaVariableListState {
variables: Array<VariableItem>;
}
export declare class SchemaVariableList extends React.Component<SchemaVariableListProps, SchemaVariableListState> {
state: {
variables: any[];
};
dataSchema?: DataSchema;
componentDidUpdate(prevProps: SchemaVariableListProps): void;
schemasToVaraibles(props: SchemaVariableListProps): any[];
handleSelect(item: any): void;
itemRender(option: any): JSX.Element;
render(): JSX.Element;
}
export default SchemaVariableList;