import React from 'react'; /** * 基础组件属性 */ export interface XBaseObjectProps { /** * 组件id */ id?: string; /** * 名称 */ name?: string; /** * 说明 */ desc?: string; /** * 初始化回调函数,一般用来获取组件对象 */ inited?: (e: any) => void; /** * 设置父级节点,可以为对象或者一个函数 * @defaultValue '' */ parent?: (() => {}) | {}; pureRender?: boolean; /** * 后端的数据源Url * @defaultValue '' */ dataSourceUrl?: string; /** * 访问数据Url时,添加的条件参数 * @defaultValue {} */ filterData?: object; /** * 访问数据是是否必须携带参数,如果没有参数则不去访问 * @defaultValue false */ mustHasFilter?: boolean; /** * 访问数据源后的回调函数,可以对返回数据进行再次处理 */ onServerResult?: (result: {}, url: string, data: {}) => {}; /** * 组件加载完成后回调 */ onDidMount?: (e: any) => void; /** * 组件更新回调 */ onDidUpdate?: (e: any) => void; } /** * 基础组件 * 基础组件是前端所有组件的基类,提供了组件的基本属性和与服务端交互的相关属性和方法。 * @name 基础组件 * @groupName 基础 */ export default class XBaseObject

extends React.Component { static defaultProps: { parent: string; pureRender: boolean; dataSourceUrl: string; filterData: {}; mustHasFilter: boolean; }; static OnServerBefore: (url: string, params: {} | FormData, type: "download" | "upload" | "refresh") => {} | FormData; static OnServerResult: (result: {}, url: string, data: {}) => {}; state: any; Children: any[]; id: string; isMobile: boolean; constructor(props: Readonly); /** * 获取组件过滤参数 */ GetFilterData(): any; /** * 清空组件过滤参数 */ ClearFilterData(): void; componentDidMount(): void; componentDidUpdate(prevProps: Readonly

, prevState: Readonly, snapshot: any): void; shouldComponentUpdate(nextProps: Readonly

, nextState: Readonly, nextContext: any): boolean; componentWillUnmount(): void; /** * 添加子节点关系 * @param child */ AddChild(child: any): void; /** * 删除子节点关系 * @param child */ RemoveChild(child: any): void; /** * 获取子节点 */ GetChildren(): any[]; /** * 通过id获取子节点 * @param id */ GetChildById(id: any): any; /** * 通过field获取子节点 * @param field */ GetChildByField(field: any): any; /** * 获取父节点 */ GetParent(): any; /** * 是否手机模式 */ IsMobile(): boolean; SetPureRender(b: boolean): void; /** * 从浏览器缓存获取登录信息的数据 */ GetGatherData(): any; /** * 设置浏览器缓存信息 * @param data 数据 * @param isRemember 是否持久保存 */ SaveGatherData(data: object, isRemember: boolean): void; ClearGatherData(): void; GetServerRootUrl(url?: string): any; /** * 为上传文件名获取url * @param url fileUrl * @constructor */ GetUploadFileUrl(fileUrl: string): string; /** * 返回上一页 */ GotoBack(minHistory?: number): void; /** * 跳转到指定路径 * @param hash hash值 * @param param 参数 * @param url 跳转url */ GotoUrl: (hash: string, param?: string, url?: string) => void; /** * 获取页面参数 * @param name 参数名 * @param queryStr 参数,默认值:window.location.hash */ GetQueryParam: (name: string, queryStr?: string) => string; /** * 刷新组件 * @param filter 过滤参数 * @param isnew 是否全部更新参数 * @constructor */ RefreshServer(filter?: object, isnew?: boolean): Promise; ajax(method?: string, url?: string, params?: any, contentType?: string): Promise; /** * get请求 * @param url */ GetUrl(url: any): Promise; RequestServerUploadFile(url: string, data: any, isShowError?: boolean, onProgress?: (e: any) => void, useToken?: boolean, onServerResult?: boolean): Promise<{ Success: string; Value?: any; Message?: string; }>; RequestUploadFile(url: string, data: any, isShowError?: boolean, onProgress?: (e: any) => void, useToken?: boolean, onServerResult?: boolean): Promise<{ Success: string; Value?: any; Message?: string; }>; /** * 对服务端的POST请求函数 * @param url 请求地址 * @param params 参数 * @param isShowError 是否显示错误 * @param useToken 是否传token * @param onServerResult 是否执行onServerResult */ RequestServerPost(url?: string, params?: any, isShowError?: boolean, useToken?: boolean, onServerResult?: boolean): Promise; /** * 模仿java里的sleep方法 * @param time 时间毫秒 */ Sleep(time: number): Promise; RequestDownloadFile(url: any, params: any, isNewWindow?: boolean, returnData?: boolean): Promise; /** * 下载文件 * @param url 地址 * @param datas 参数 * @param iframe iframe对象 */ DownloadFile(url: string, datas: any, iframe?: HTMLIFrameElement): void; /** * 生成uuid * @param split 分隔符号 */ CreateUUID(split?: string): string; /** * 渲染属性编辑 * @param dataItem * @param onChange */ RenderAttr: (dataItem: any, onChange: (data: any) => void) => void; RunAIOperate(type: any, param?: any, reverse?: boolean): Promise; SetAIConfig(): Promise; }