plus-pro-components
Version:
Page level components developed based on Element Plus.
116 lines (114 loc) • 3.49 kB
TypeScript
import { PlusFormProps } from 'plus-pro-components/es/components/form';
import { TableFormRefRow } from 'plus-pro-components/es/components/table';
import { PlusColumn, RecordType, Mutable, FieldValueType } from 'plus-pro-components/es/types';
import { descriptionProps } from 'element-plus';
import { ExtractPropTypes, DefineComponent, ShallowRef, ComponentOptionsMixin, PublicProps, PropType } from 'vue';
export type DescriptionProps = Partial<Mutable<ExtractPropTypes<typeof descriptionProps>>>;
type FormChangeCallBackParams = {
column: PlusColumn;
index: number;
prop: string;
row: RecordType;
value: FieldValueType;
};
export interface PlusDescriptionsProps {
data: RecordType;
columns?: PlusColumn[];
column?: number;
title?: string;
border?: boolean;
/**
* 是否整体可编辑
* @version 0.1.17
* @default false
*/
editable?: boolean;
/**
* PlusFormProps 优先级低于column.formProps
* @version 0.1.17
*/
formProps?: PlusFormProps;
/**
* el-descriptions-item 的props 优先级低于column.descriptionsItemProps
* @version 0.1.17
*/
descriptionsItemProps?: RecordType;
}
export interface PlusDescriptionsEmits {
(e: 'formChange', data: FormChangeCallBackParams): void;
}
export interface PlusTableTableColumnStatus {
text: string;
color: string;
}
declare const _default: __VLS_WithTemplateSlots< DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<PlusDescriptionsProps>, {
data: () => {};
columns: () => never[];
title: string;
column: number;
border: boolean;
editable: boolean;
formProps: undefined;
descriptionsItemProps: undefined;
}>, {
formRefs: ShallowRef<TableFormRefRow[]>;
validate: () => Promise<undefined>;
clearValidate: () => void;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
formChange: (data: FormChangeCallBackParams) => void;
}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<PlusDescriptionsProps>, {
data: () => {};
columns: () => never[];
title: string;
column: number;
border: boolean;
editable: boolean;
formProps: undefined;
descriptionsItemProps: undefined;
}>>> & {
onFormChange?: ((data: FormChangeCallBackParams) => any) | undefined;
}, {
columns: PlusColumn[];
formProps: PlusFormProps;
border: boolean;
data: RecordType;
title: string;
column: number;
editable: boolean;
descriptionsItemProps: RecordType;
}, {}>, Partial<Record<string, (_: {
column: PlusColumn;
row: RecordType;
label: string;
}) => any>> & Partial<Record<string, (_: {
column: PlusColumn;
row: RecordType;
value: any;
}) => any>> & {
default?(_: {}): any;
title?(_: {}): any;
extra?(_: {}): any;
}>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
[K in keyof T]-?: {} extends Pick<T, K> ? {
type: PropType<__VLS_NonUndefinedable<T[K]>>;
} : {
type: PropType<T[K]>;
required: true;
};
};
type __VLS_WithDefaults<P, D> = {
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
default: D[K];
}> : P[K];
};
type __VLS_Prettify<T> = {
[K in keyof T]: T[K];
} & {};
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};