UNPKG

@ryan-json-schema-vue3/table

Version:

基于 vue3 + element plus json schema 列表

471 lines (456 loc) 14.2 kB
import type { App } from 'vue'; import { BasicSchemaProp } from '@ryan-json-schema-vue3/utils'; import { ComponentOptionsMixin } from 'vue'; import { DefineComponent } from 'vue'; import { ExtractPropTypes } from 'vue'; import { PropType } from 'vue'; import { PublicProps } from 'vue'; import { Schema } from '@ryan-json-schema-vue3/utils'; import type { SetupContext } from 'vue'; import { UiSchema } from '@ryan-json-schema-vue3/utils'; export declare interface BasicTableProp extends BasicSchemaProp { model: Record<string, any>[]; showPager?: boolean; showIndex?: boolean; selectionType?: 'checkbox' | ''; pageInfo?: PageInfo; optWidth?: string; tableLoading?: boolean; rowBtnList?: (row: Record<string, any>) => RowBtn[]; rowKey?: string; } export declare const basicTableProps: { readonly model: { readonly type: PropType<Record<string, any>[]>; readonly required: true; }; readonly showPager: { readonly type: BooleanConstructor; readonly required: false; readonly default: true; }; readonly showIndex: { readonly type: BooleanConstructor; readonly required: false; readonly default: false; }; readonly selectionType: { readonly type: PropType<"" | "checkbox">; readonly required: false; readonly default: ""; }; readonly pageInfo: { readonly type: PropType<PageInfo>; readonly required: false; readonly default: () => { currentPage: number; pageSize: number; total: number; }; }; readonly rowBtnList: { readonly type: PropType<(row: Record<string, any>) => RowBtn[]>; readonly required: false; readonly default: null; }; readonly tableLoading: { readonly type: BooleanConstructor; readonly required: false; readonly default: false; }; readonly optWidth: { readonly type: StringConstructor; readonly required: false; readonly default: "150"; }; readonly rowKey: { readonly type: StringConstructor; readonly required: false; readonly default: "_X_ROW_KEY"; }; readonly columnWidth: { readonly type: StringConstructor; readonly required: false; }; readonly schema: { readonly type: PropType<Schema>; readonly required: true; }; readonly uiSchema: { readonly type: PropType<UiSchema>; readonly required: false; readonly default: () => {}; }; }; export declare const bindEvent: (context: SetupContext) => { onRowBtnClick: (key: string, row: any) => void; onRowSelected: (rows: Record<string, any>[]) => void; onPageChange: (pageInfo: PageInfo) => void; }; export declare type BtnType = '' | 'default' | 'success' | 'warning' | 'info' | 'text' | 'primary' | 'danger'; declare const _default: { install: (app: App<any>) => void; }; export default _default; export declare const DEFAULT_ROW_BTN_LIST: RowBtn[]; export declare const install: (app: App) => void; export declare const JsonTable: DefineComponent<{ readonly model: { readonly type: PropType<Record<string, any>[]>; readonly required: true; }; readonly showPager: { readonly type: BooleanConstructor; readonly required: false; readonly default: true; }; readonly showIndex: { readonly type: BooleanConstructor; readonly required: false; readonly default: false; }; readonly selectionType: { readonly type: PropType<"" | "checkbox">; readonly required: false; readonly default: ""; }; readonly pageInfo: { readonly type: PropType<PageInfo>; readonly required: false; readonly default: () => { currentPage: number; pageSize: number; total: number; }; }; readonly rowBtnList: { readonly type: PropType<(row: Record<string, any>) => RowBtn[]>; readonly required: false; readonly default: null; }; readonly tableLoading: { readonly type: BooleanConstructor; readonly required: false; readonly default: false; }; readonly optWidth: { readonly type: StringConstructor; readonly required: false; readonly default: "150"; }; readonly rowKey: { readonly type: StringConstructor; readonly required: false; readonly default: "_X_ROW_KEY"; }; readonly columnWidth: { readonly type: StringConstructor; readonly required: false; }; readonly schema: { readonly type: PropType<Schema>; readonly required: true; }; readonly uiSchema: { readonly type: PropType<UiSchema>; readonly required: false; readonly default: () => {}; }; }, () => any, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<{ readonly model: { readonly type: PropType<Record<string, any>[]>; readonly required: true; }; readonly showPager: { readonly type: BooleanConstructor; readonly required: false; readonly default: true; }; readonly showIndex: { readonly type: BooleanConstructor; readonly required: false; readonly default: false; }; readonly selectionType: { readonly type: PropType<"" | "checkbox">; readonly required: false; readonly default: ""; }; readonly pageInfo: { readonly type: PropType<PageInfo>; readonly required: false; readonly default: () => { currentPage: number; pageSize: number; total: number; }; }; readonly rowBtnList: { readonly type: PropType<(row: Record<string, any>) => RowBtn[]>; readonly required: false; readonly default: null; }; readonly tableLoading: { readonly type: BooleanConstructor; readonly required: false; readonly default: false; }; readonly optWidth: { readonly type: StringConstructor; readonly required: false; readonly default: "150"; }; readonly rowKey: { readonly type: StringConstructor; readonly required: false; readonly default: "_X_ROW_KEY"; }; readonly columnWidth: { readonly type: StringConstructor; readonly required: false; }; readonly schema: { readonly type: PropType<Schema>; readonly required: true; }; readonly uiSchema: { readonly type: PropType<UiSchema>; readonly required: false; readonly default: () => {}; }; }>>, { readonly uiSchema: UiSchema; readonly showPager: boolean; readonly showIndex: boolean; readonly selectionType: "" | "checkbox"; readonly pageInfo: PageInfo; readonly rowBtnList: (row: Record<string, any>) => RowBtn[]; readonly tableLoading: boolean; readonly optWidth: string; readonly rowKey: string; }, {}>; export declare type PageInfo = { currentPage: number; pageSize: number; total?: number; }; export declare const ProTable: DefineComponent<{ readonly fields: { readonly type: PropType<string[]>; readonly required: false; }; readonly model: { readonly type: PropType<Record<string, any>[]>; readonly required: true; }; readonly showPager: { readonly type: BooleanConstructor; readonly required: false; readonly default: true; }; readonly showIndex: { readonly type: BooleanConstructor; readonly required: false; readonly default: false; }; readonly selectionType: { readonly type: PropType<"" | "checkbox">; readonly required: false; readonly default: ""; }; readonly pageInfo: { readonly type: PropType<PageInfo>; readonly required: false; readonly default: () => { currentPage: number; pageSize: number; total: number; }; }; readonly rowBtnList: { readonly type: PropType<(row: Record<string, any>) => RowBtn[]>; readonly required: false; readonly default: null; }; readonly tableLoading: { readonly type: BooleanConstructor; readonly required: false; readonly default: false; }; readonly optWidth: { readonly type: StringConstructor; readonly required: false; readonly default: "150"; }; readonly rowKey: { readonly type: StringConstructor; readonly required: false; readonly default: "_X_ROW_KEY"; }; readonly columnWidth: { readonly type: StringConstructor; readonly required: false; }; readonly schema: { readonly type: PropType<Schema>; readonly required: true; }; readonly uiSchema: { readonly type: PropType<UiSchema>; readonly required: false; readonly default: () => {}; }; }, () => any, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<{ readonly fields: { readonly type: PropType<string[]>; readonly required: false; }; readonly model: { readonly type: PropType<Record<string, any>[]>; readonly required: true; }; readonly showPager: { readonly type: BooleanConstructor; readonly required: false; readonly default: true; }; readonly showIndex: { readonly type: BooleanConstructor; readonly required: false; readonly default: false; }; readonly selectionType: { readonly type: PropType<"" | "checkbox">; readonly required: false; readonly default: ""; }; readonly pageInfo: { readonly type: PropType<PageInfo>; readonly required: false; readonly default: () => { currentPage: number; pageSize: number; total: number; }; }; readonly rowBtnList: { readonly type: PropType<(row: Record<string, any>) => RowBtn[]>; readonly required: false; readonly default: null; }; readonly tableLoading: { readonly type: BooleanConstructor; readonly required: false; readonly default: false; }; readonly optWidth: { readonly type: StringConstructor; readonly required: false; readonly default: "150"; }; readonly rowKey: { readonly type: StringConstructor; readonly required: false; readonly default: "_X_ROW_KEY"; }; readonly columnWidth: { readonly type: StringConstructor; readonly required: false; }; readonly schema: { readonly type: PropType<Schema>; readonly required: true; }; readonly uiSchema: { readonly type: PropType<UiSchema>; readonly required: false; readonly default: () => {}; }; }>>, { readonly uiSchema: UiSchema; readonly showPager: boolean; readonly showIndex: boolean; readonly selectionType: "" | "checkbox"; readonly pageInfo: PageInfo; readonly rowBtnList: (row: Record<string, any>) => RowBtn[]; readonly tableLoading: boolean; readonly optWidth: string; readonly rowKey: string; }, {}>; export declare interface ProTableProp extends BasicTableProp { fields?: string[]; } export declare const proTableProps: { readonly fields: { readonly type: PropType<string[]>; readonly required: false; }; readonly model: { readonly type: PropType<Record<string, any>[]>; readonly required: true; }; readonly showPager: { readonly type: BooleanConstructor; readonly required: false; readonly default: true; }; readonly showIndex: { readonly type: BooleanConstructor; readonly required: false; readonly default: false; }; readonly selectionType: { readonly type: PropType<"" | "checkbox">; readonly required: false; readonly default: ""; }; readonly pageInfo: { readonly type: PropType<PageInfo>; readonly required: false; readonly default: () => { currentPage: number; pageSize: number; total: number; }; }; readonly rowBtnList: { readonly type: PropType<(row: Record<string, any>) => RowBtn[]>; readonly required: false; readonly default: null; }; readonly tableLoading: { readonly type: BooleanConstructor; readonly required: false; readonly default: false; }; readonly optWidth: { readonly type: StringConstructor; readonly required: false; readonly default: "150"; }; readonly rowKey: { readonly type: StringConstructor; readonly required: false; readonly default: "_X_ROW_KEY"; }; readonly columnWidth: { readonly type: StringConstructor; readonly required: false; }; readonly schema: { readonly type: PropType<Schema>; readonly required: true; }; readonly uiSchema: { readonly type: PropType<UiSchema>; readonly required: false; readonly default: () => {}; }; }; export declare interface RowBtn { key: string; title: string; type?: BtnType; flag?: 'EDIT' | 'DEL' | null; } export { }