jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
34 lines (33 loc) • 1.43 kB
TypeScript
import type { IScopedContext, RendererComponent, RendererProps } from 'jamis-core';
import { ScopedContext } from 'jamis-core';
import React from 'react';
import type { SearchBoxSchema } from './types';
interface SearchBoxProps extends RendererProps, Omit<SearchBoxSchema, 'type' | 'className'> {
name: string;
wrapperComponent?: React.ComponentType<any>;
onQuery?: (query: {
[propName: string]: string;
}) => void;
}
interface SearchBoxState {
value: string;
/** mini样式下的激活态 */
active: boolean;
}
export declare class SearchBoxRenderer extends React.Component<SearchBoxProps, SearchBoxState> {
static contextType: React.Context<IScopedContext<import("jamis-core").ScopedComponentType>>;
context: React.ContextType<typeof ScopedContext>;
static defaultProps: Partial<SearchBoxProps>;
static propsList: Array<string>;
static hookBeforeRenderSchema: RendererComponent['hookBeforeRenderSchema'];
constructor(props: SearchBoxProps, context: IScopedContext);
componentWillUnmount(): void;
componentDidUpdate(prevProps: Readonly<SearchBoxProps>, prevState: Readonly<SearchBoxState>): void;
handleChange: (value: string) => Promise<void>;
handleCancel: () => void;
handleSearch: (text: string) => Promise<void>;
handleActiveChange: (active: boolean) => void;
renderAddOn: () => JSX.Element | null;
render(): JSX.Element;
}
export {};