tav-ui
Version:
48 lines (47 loc) • 1.98 kB
TypeScript
import { type ComputedRef, type WritableComputedRef } from 'vue';
import { type FileActionUploadApiResponseRecord, type GlobalConfigFileProps } from '../../typings';
import { type FileCardProps } from '../types';
import { type ReturnOf } from './../../utils';
export interface CardCreateRowsOptions {
/** 要新增的行数据 */
rows: FileActionUploadApiResponseRecord[];
/** 插入行的位置 */
position?: FileActionUploadApiResponseRecord[] | FileActionUploadApiResponseRecord | null | -1;
/** 使用组件内部 loading 状态 */
useLoading?: boolean;
}
export interface CardReadRowsOptions {
/** 使用组件内部 loading 状态 */
useLoading?: boolean;
}
export interface CardUpdateRowsOptions {
/** 要新增的行数据 */
rows: FileActionUploadApiResponseRecord[];
/** 要删除的行数据 */
deleteRows: FileActionUploadApiResponseRecord[];
/** 使用组件内部 loading 状态 */
useLoading?: boolean;
}
export interface CardDeleteRowsOptions {
/** 要删除的行数据,不传的话默认删除全部 */
rows?: FileActionUploadApiResponseRecord[];
/** 使用组件内部 loading 状态 */
useLoading?: boolean;
}
/**
* 封装 card 操作数据的方法
* @param options
* @returns
*/
export declare function useCardActions(options: {
mergedProps: ComputedRef<GlobalConfigFileProps & FileCardProps>;
dataSource: ComputedRef<FileActionUploadApiResponseRecord[]>;
setDataSource: (data: FileActionUploadApiResponseRecord[]) => void;
loading: WritableComputedRef<any>;
}): {
cardCreateRows: (_options: CardCreateRowsOptions) => Promise<void>;
cardReadRows: (_options?: CardReadRowsOptions) => Promise<FileActionUploadApiResponseRecord[]>;
cardUpdateRows: (_options: CardUpdateRowsOptions) => Promise<void>;
cardDeleteRows: (_options: CardDeleteRowsOptions) => Promise<void>;
};
export declare type UseCardActionsReturn = ReturnOf<typeof useCardActions>;