@aplus-frontend/ui
Version:
55 lines (54 loc) • 1.82 kB
TypeScript
import { Recordable } from '../../type';
import { GetRowKey, ModalLayoutConfig, RequestReturn } from './interface';
import { VNodeChild, StyleValue } from 'vue';
export declare function genRequest(api: ((params: any) => Promise<RequestReturn<any>>) | undefined, gerRowKey: GetRowKey<any>, callback?: (length: number) => void): {
request: (params: any) => Promise<{
data: any[];
total: number;
}>;
setExtraParams: (params?: Recordable) => void;
};
export declare function addRowKeyField(row: any, gerRowKey: GetRowKey<any>): any;
export declare function delRowKeyField(row: any): any;
/** 解析props */
export declare function getModalLayoutConfig(props?: ModalLayoutConfig): {
props: {
readonly layoutType: "two-column" | undefined;
readonly leftTitle?: string | VNodeChild;
readonly rightContentStyle?: StyleValue;
readonly dividerOffset?: number;
readonly bordered?: boolean;
};
slots: {
renderSelectedItem: ((props: {
record: any;
actions: {
deleteItem: (record: any) => void;
deleteCurrent: () => void;
};
}) => any) | undefined;
rightTitle: ((selectedCount: number) => any) | undefined;
rightBottom: ((props: {
records: any[];
actions: {
deleteItem: (record: any) => void;
};
}) => any) | undefined;
};
};
/**
* 异步回调
* buildPromise 构建异步回调
* resolve reject 兑现或拒绝回调
*/
export declare class AsyncCallback<T = any> {
private p;
private operateFn;
constructor();
buildPromise(): Promise<T>;
clear(): void;
/** 兑现回调 */
resolve(data: T): void;
/** 拒绝回调 */
reject(error?: string): void;
}