UNPKG

z-crud-table

Version:

A powerful and flexible CRUD table component for Vue 3 and Element Plus.

314 lines (312 loc) 8.04 kB
import { PropType } from 'vue'; declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<import('vue').ExtractPropTypes<{ /** * @description 组件的主题风格 * @type {'default' | 'large-screen'} */ theme: { type: PropType<"default" | "large-screen">; default: string; }; apiUrlQuery: { type: StringConstructor; required: true; }; apiUrlDetail: { type: StringConstructor; required: true; }; apiUrlCreate: { type: StringConstructor; required: true; }; apiUrlUpdate: { type: StringConstructor; required: true; }; apiUrlDelete: { type: StringConstructor; required: true; }; columns: { type: PropType<any[]>; default: () => never[]; }; onBeforeQuery: { type: PropType<(params: any) => any>; }; onAfterQuery: { type: PropType<(data: any[]) => any[] | Promise<any[]>>; }; onBeforeOpenDialog: { type: PropType<(mode: string, data?: any) => any>; }; onAfterOpenDialog: { type: PropType<(mode: string, data: any) => void>; }; onBeforeSubmit: { type: PropType<(data: any) => any>; }; onAfterSubmit: { type: PropType<(mode: string, data: any) => void>; }; onBeforeDelete: { type: PropType<(ids: number[]) => boolean | Promise<boolean>>; }; onAfterDelete: { type: PropType<(ids: number[]) => void>; }; showSelectionColumn: { type: BooleanConstructor; default: boolean; }; showIndexColumn: { type: BooleanConstructor; default: boolean; }; showActionsColumn: { type: BooleanConstructor; default: boolean; }; showEditButton: { type: BooleanConstructor; default: boolean; }; showDeleteButton: { type: BooleanConstructor; default: boolean; }; actionsColumnWidth: { type: (StringConstructor | NumberConstructor)[]; default: number; }; dialogWidth: { type: StringConstructor; default: string; }; initialSearchForm: { type: ObjectConstructor; default: () => { pageNum: number; pageSize: number; }; }; showPagination: { type: BooleanConstructor; default: boolean; }; pageSizes: { type: ArrayConstructor; default: () => number[]; }; paginationLayout: { type: StringConstructor; default: string; }; paginationBackground: { type: BooleanConstructor; default: boolean; }; paginationSmall: { type: BooleanConstructor; default: boolean; }; paginationHideOnSinglePage: { type: BooleanConstructor; default: boolean; }; dialogFormConfig: { type: () => any[]; default: () => never[]; }; dialogFormRules: { type: ObjectConstructor; default: () => {}; }; }>, { refresh: () => Promise<void>; search: () => void; handleDelete: (ids: number[]) => Promise<void>; openDialog: (mode: "add" | "edit", rowData?: any) => Promise<void>; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { submit: (...args: any[]) => void; delete: (...args: any[]) => void; "open-dialog": (...args: any[]) => void; }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{ /** * @description 组件的主题风格 * @type {'default' | 'large-screen'} */ theme: { type: PropType<"default" | "large-screen">; default: string; }; apiUrlQuery: { type: StringConstructor; required: true; }; apiUrlDetail: { type: StringConstructor; required: true; }; apiUrlCreate: { type: StringConstructor; required: true; }; apiUrlUpdate: { type: StringConstructor; required: true; }; apiUrlDelete: { type: StringConstructor; required: true; }; columns: { type: PropType<any[]>; default: () => never[]; }; onBeforeQuery: { type: PropType<(params: any) => any>; }; onAfterQuery: { type: PropType<(data: any[]) => any[] | Promise<any[]>>; }; onBeforeOpenDialog: { type: PropType<(mode: string, data?: any) => any>; }; onAfterOpenDialog: { type: PropType<(mode: string, data: any) => void>; }; onBeforeSubmit: { type: PropType<(data: any) => any>; }; onAfterSubmit: { type: PropType<(mode: string, data: any) => void>; }; onBeforeDelete: { type: PropType<(ids: number[]) => boolean | Promise<boolean>>; }; onAfterDelete: { type: PropType<(ids: number[]) => void>; }; showSelectionColumn: { type: BooleanConstructor; default: boolean; }; showIndexColumn: { type: BooleanConstructor; default: boolean; }; showActionsColumn: { type: BooleanConstructor; default: boolean; }; showEditButton: { type: BooleanConstructor; default: boolean; }; showDeleteButton: { type: BooleanConstructor; default: boolean; }; actionsColumnWidth: { type: (StringConstructor | NumberConstructor)[]; default: number; }; dialogWidth: { type: StringConstructor; default: string; }; initialSearchForm: { type: ObjectConstructor; default: () => { pageNum: number; pageSize: number; }; }; showPagination: { type: BooleanConstructor; default: boolean; }; pageSizes: { type: ArrayConstructor; default: () => number[]; }; paginationLayout: { type: StringConstructor; default: string; }; paginationBackground: { type: BooleanConstructor; default: boolean; }; paginationSmall: { type: BooleanConstructor; default: boolean; }; paginationHideOnSinglePage: { type: BooleanConstructor; default: boolean; }; dialogFormConfig: { type: () => any[]; default: () => never[]; }; dialogFormRules: { type: ObjectConstructor; default: () => {}; }; }>> & Readonly<{ onSubmit?: ((...args: any[]) => any) | undefined; onDelete?: ((...args: any[]) => any) | undefined; "onOpen-dialog"?: ((...args: any[]) => any) | undefined; }>, { theme: "default" | "large-screen"; columns: any[]; showSelectionColumn: boolean; showIndexColumn: boolean; showActionsColumn: boolean; showEditButton: boolean; showDeleteButton: boolean; actionsColumnWidth: string | number; dialogWidth: string; initialSearchForm: Record<string, any>; showPagination: boolean; pageSizes: unknown[]; paginationLayout: string; paginationBackground: boolean; paginationSmall: boolean; paginationHideOnSinglePage: boolean; dialogFormConfig: any[]; dialogFormRules: Record<string, any>; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, Partial<Record<any, (_: { row: any; }) => any>> & { header?(_: {}): any; "query-conditions"?(_: { searchForm: { pageNum: number; pageSize: number; }; }): any; "query-left"?(_: {}): any; "query-right"?(_: {}): any; "action-left"?(_: { selections: any[]; }): any; "add-button-content"?(_: {}): any; "action-right"?(_: {}): any; actions?(_: { row: any; }): any; "dialog-form-content"?(_: { formData: Record<string, any>; mode: "add" | "edit"; }): any; }>; export default _default; type __VLS_WithTemplateSlots<T, S> = T & { new (): { $slots: S; }; };