jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
37 lines (36 loc) • 1.24 kB
TypeScript
import React from 'react';
import type { IScopedContext, Payload, RendererProps } from 'jamis-core';
import { ScopedContext } from 'jamis-core';
import type { TasksSchema } from './types';
interface TaskProps extends RendererProps, Omit<TasksSchema, 'className'> {
}
export interface TaskItem {
label?: string;
key?: string;
remark?: string;
status?: any;
}
export interface TaskState {
error?: string;
items: Array<TaskItem>;
}
export default class Task extends React.Component<TaskProps, TaskState> {
static defaultProps: Partial<TaskProps>;
timer: any;
constructor(props: TaskProps);
componentDidMount(): void;
componentDidUpdate(prevProps: TaskProps): void;
componentWillUnmount(): void;
reload(): void;
tick(force?: boolean): void;
handleLoaded(ret: Payload): void;
submitTask(item: TaskItem, index: number, retry?: boolean): void;
render(): JSX.Element;
}
export declare class TaskRenderer extends Task {
static contextType: React.Context<IScopedContext<import("jamis-core").ScopedComponentType>>;
context: React.ContextType<typeof ScopedContext>;
constructor(props: TaskProps, context: IScopedContext);
componentWillUnmount(): void;
}
export {};