plus-pro-components
Version:
Page level components developed based on Element Plus.
946 lines (944 loc) • 337 kB
TypeScript
import { DebouncedFunc } from 'lodash-es';
import { default as __DTS_DEFAULT_0__ } from 'element-plus/es/components/table/src/table-layout';
import { Options } from 'sortablejs';
import { TimeSelectProps } from 'element-plus/es/components/time-select/src/time-select';
import { LooseRequired } from '@vue/shared';
import { Arrayable, EpPropFinalized, EpPropMergeType } from 'element-plus/es/utils';
import { PlusFormGroupRow, PlusFormProps, PlusRadioProps, PlusDatePickerProps, PlusInputTagProps } from 'plus-pro-components';
import { DefineComponent, Ref, ComponentInternalInstance, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes, PropType, Slot, ComponentPublicInstance, ComponentOptionsBase, CreateComponentPublicInstance, ComputedRef, ComponentOptionsMixin, DebuggerEvent, nextTick, WatchOptions, WatchStopHandle, ShallowUnwrapRef, ComponentCustomProperties, CSSProperties, Component, ShallowRef, PublicProps } from 'vue';
import { CardProps, RowProps, ColProps, FormItemRule, FormItemProp, FormItemContext, FormValidateCallback, FormValidationResult, ElTooltipProps, TableColumnCtx, FormItemProps, ProgressFn, CascaderNode, InputAutoSize, AutocompleteProps, CheckboxGroupProps, ColorPickerProps, DatePickerProps, InputProps, InputNumberProps, RadioGroupProps, RateProps, ISelectProps, SliderProps, SwitchProps, TimePickerDefaultProps, TextProps, ImageProps, LinkProps, TagProps, ProgressProps, SummaryMethod, ColumnCls, ColumnStyle, CellCls, CellStyle, Sort, TreeNode, Translator, Table } from 'element-plus';
import { PlusPaginationProps } from 'plus-pro-components/es/components/pagination';
import { PlusTableProps, ActionBarProps, ColumnSetting, ButtonsCallBackParams, FormChangeCallBackParams, FilterTableHeaderEventType, TableFormRefRow } from 'plus-pro-components/es/components/table';
import { PlusSearchProps } from 'plus-pro-components/es/components/search';
import { PlusColumn, PageInfo, RecordType, Mutable, FieldValues, TableValueType, FormItemValueType, OptionsType, OptionsRow, RenderTypes, FieldValueType, PropsItemType, OmitTypes, CascaderProps } from 'plus-pro-components/es/types';
export interface PlusPageProps {
/**
* 配置
*/
columns: PlusColumn[];
/**
*
* params参数中一定会有 pageSize 和 page ,这两个参数是 plus-pro-components 的规范
* @param params
*/
request: (params: Partial<PageInfo> & RecordType) => Promise<{
/** 数据 */
data: RecordType[];
/** 不传会使用 data 的长度,如果是分页一定要传*/
total: number;
}>;
/**
* PlusSearchProps
*/
search?: false | Partial<PlusSearchProps>;
/**
* PlusTableProps
*/
table?: Partial<PlusTableProps>;
/**
* request的 params 其他参数,默认会带pageSize,page和 PlusSearch组件中的值
*/
params?: RecordType;
/**
* 对通过 request 获取的数据进行处理
* @param data
*/
postData?: <T = RecordType[]>(data: T[]) => T[];
/**
* 搜索之前进行一些修改
* @param params
*/
beforeSearchSubmit?: <T = RecordType>(params: T) => T;
/**
* 表格和搜索是否需要el-card 包裹 默认true
*/
isCard?: boolean;
/**
* 搜索外层的el-card的props ,当isCard为true时生效
*/
searchCardProps?: Partial<Mutable<CardProps>>;
/**
* 表格外层的el-card的props ,当isCard为true时生效
*/
tableCardProps?: Partial<Mutable<CardProps>>;
defaultPageInfo?: PageInfo;
defaultPageSizeList?: number[];
pagination?: false | Omit<PlusPaginationProps, 'total' | 'modelValue' | 'pageSizeList'>;
/**
* 组件渲染完成后是否立即调用getList
*/
immediate?: boolean;
/**
* 搜索与表格分割线
*/
dividerProps?: false | Partial<RecordType>;
/**
* 可以修改默认的分页参数
*/
pageInfoMap?: {
page?: string;
pageSize?: string;
};
}
export interface PlusPageEmits {
(e: 'search', data: FieldValues): void;
(e: 'reset', data: FieldValues): void;
(e: 'paginationChange', pageInfo: PageInfo): void;
/**
* 数据加载失败时触发
*/
(e: 'requestError', error: unknown): void;
/**
* 数据加载完成时触发
*/
(e: 'requestComplete', tableData: RecordType[]): void;
}
declare const _default: __VLS_WithTemplateSlots< DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<PlusPageProps>, {
params: () => {};
columns: () => never[];
postData: undefined;
beforeSearchSubmit: undefined;
isCard: boolean;
search: () => {};
table: () => {};
defaultPageInfo: () => {
page: number;
pageSize: number;
};
defaultPageSizeList: () => number[];
searchCardProps: () => {};
tableCardProps: () => {};
/**
* 分页组件的其他参数,不包含total,modelValue,pageSizeList
*/
pagination: () => {};
immediate: boolean;
dividerProps: boolean;
pageInfoMap: () => {
page: string;
pageSize: string;
};
}>, {
plusSearchInstance: Ref<({
$: ComponentInternalInstance;
$data: {};
$props: Partial<{
columns: PlusColumn[];
modelValue: FieldValues;
labelPosition: "top" | "right" | "left";
inline: boolean;
showNumber: number;
defaultValues: FieldValues;
rowProps: Partial<Mutable< RowProps>>;
colProps: Partial<Mutable< ColProps>>;
hasFooter: boolean;
hasReset: boolean;
resetText: string;
hasUnfold: boolean;
defaultUnfold: boolean;
searchText: string;
retractText: string;
expandText: string;
searchLoading: boolean;
needValidate: boolean;
}> & Omit<{
readonly columns: PlusColumn[];
readonly modelValue: FieldValues;
readonly inline: boolean;
readonly showNumber: number;
readonly defaultValues: FieldValues;
readonly rowProps: Partial<Mutable< RowProps>>;
readonly colProps: Partial<Mutable< ColProps>>;
readonly hasFooter: boolean;
readonly hasReset: boolean;
readonly resetText: string;
readonly hasUnfold: boolean;
readonly defaultUnfold: boolean;
readonly searchText: string;
readonly retractText: string;
readonly expandText: string;
readonly searchLoading: boolean;
readonly needValidate: boolean;
readonly labelPosition?: "top" | "right" | "left" | undefined;
onChange?: ((values: FieldValues, column: PlusColumn) => any) | undefined;
"onUpdate:modelValue"?: ((values: FieldValues) => any) | undefined;
onReset?: ((values: FieldValues) => any) | undefined;
onSearch?: ((values: FieldValues) => any) | undefined;
onCollapse?: ((isShowUnfold: boolean) => any) | undefined;
} & VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly< ExtractPropTypes<{
columns: {
type: PropType<PlusColumn[]>;
default: () => never[];
};
modelValue: {
type: PropType<FieldValues>;
default: () => {};
};
labelPosition: {
type: PropType<"top" | "right" | "left">;
default: undefined;
};
inline: {
type: PropType<boolean>;
default: boolean;
};
showNumber: {
type: PropType<number>;
default: number;
};
defaultValues: {
type: PropType<FieldValues>;
default: () => {};
};
rowProps: {
type: PropType<Partial<Mutable< RowProps>>>;
default: () => {
gutter: number;
};
};
colProps: {
type: PropType<Partial<Mutable< ColProps>>>;
default: () => {
xs: number;
sm: number;
md: number;
lg: number;
xl: number;
};
};
hasFooter: {
type: PropType<boolean>;
default: boolean;
};
hasReset: {
type: PropType<boolean>;
default: boolean;
};
resetText: {
type: PropType<string>;
default: string;
};
hasUnfold: {
type: PropType<boolean>;
default: boolean;
};
defaultUnfold: {
type: PropType<boolean>;
default: boolean;
};
searchText: {
type: PropType<string>;
default: string;
};
retractText: {
type: PropType<string>;
default: string;
};
expandText: {
type: PropType<string>;
default: string;
};
searchLoading: {
type: PropType<boolean>;
default: boolean;
};
needValidate: {
type: PropType<boolean>;
default: boolean;
};
}>> & {
onChange?: ((values: FieldValues, column: PlusColumn) => any) | undefined;
"onUpdate:modelValue"?: ((values: FieldValues) => any) | undefined;
onReset?: ((values: FieldValues) => any) | undefined;
onSearch?: ((values: FieldValues) => any) | undefined;
onCollapse?: ((isShowUnfold: boolean) => any) | undefined;
}, "columns" | "modelValue" | "labelPosition" | "inline" | "showNumber" | "defaultValues" | "rowProps" | "colProps" | "hasFooter" | "hasReset" | "resetText" | "hasUnfold" | "defaultUnfold" | "searchText" | "retractText" | "expandText" | "searchLoading" | "needValidate">;
$attrs: {
[x: string]: unknown;
};
$refs: {
[x: string]: unknown;
};
$slots: Readonly<{
[name: string]: Slot<any> | undefined;
}>;
$root: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
$parent: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
$emit: ((event: "search", values: FieldValues) => void) & ((event: "reset", values: FieldValues) => void) & ((event: "change", values: FieldValues, column: PlusColumn) => void) & ((event: "update:modelValue", values: FieldValues) => void) & ((event: "collapse", isShowUnfold: boolean) => void);
$el: any;
$options: ComponentOptionsBase<Readonly< ExtractPropTypes<{
columns: {
type: PropType<PlusColumn[]>;
default: () => never[];
};
modelValue: {
type: PropType<FieldValues>;
default: () => {};
};
labelPosition: {
type: PropType<"top" | "right" | "left">;
default: undefined;
};
inline: {
type: PropType<boolean>;
default: boolean;
};
showNumber: {
type: PropType<number>;
default: number;
};
defaultValues: {
type: PropType<FieldValues>;
default: () => {};
};
rowProps: {
type: PropType<Partial<Mutable< RowProps>>>;
default: () => {
gutter: number;
};
};
colProps: {
type: PropType<Partial<Mutable< ColProps>>>;
default: () => {
xs: number;
sm: number;
md: number;
lg: number;
xl: number;
};
};
hasFooter: {
type: PropType<boolean>;
default: boolean;
};
hasReset: {
type: PropType<boolean>;
default: boolean;
};
resetText: {
type: PropType<string>;
default: string;
};
hasUnfold: {
type: PropType<boolean>;
default: boolean;
};
defaultUnfold: {
type: PropType<boolean>;
default: boolean;
};
searchText: {
type: PropType<string>;
default: string;
};
retractText: {
type: PropType<string>;
default: string;
};
expandText: {
type: PropType<string>;
default: string;
};
searchLoading: {
type: PropType<boolean>;
default: boolean;
};
needValidate: {
type: PropType<boolean>;
default: boolean;
};
}>> & {
onChange?: ((values: FieldValues, column: PlusColumn) => any) | undefined;
"onUpdate:modelValue"?: ((values: FieldValues) => any) | undefined;
onReset?: ((values: FieldValues) => any) | undefined;
onSearch?: ((values: FieldValues) => any) | undefined;
onCollapse?: ((isShowUnfold: boolean) => any) | undefined;
}, {
plusFormInstance: Ref<({
$: ComponentInternalInstance;
$data: {};
$props: Partial<{
columns: PlusColumn[];
group: false | PlusFormGroupRow[];
modelValue: FieldValues;
rules: Partial<Record<string, Arrayable<FormItemRule>>>;
labelPosition: "top" | "right" | "left";
labelWidth: string | number;
labelSuffix: string;
hasLabel: boolean;
defaultValues: FieldValues;
rowProps: Partial<Mutable< RowProps>>;
colProps: Partial<Mutable< ColProps>>;
hasErrorTip: boolean;
hasFooter: boolean;
hasReset: boolean;
submitText: string;
resetText: string;
submitLoading: boolean;
footerAlign: "right" | "left" | "center";
cardProps: Partial<Mutable<CardProps>>;
prevent: boolean;
collapseDuration: number;
collapseTransition: boolean;
clearable: boolean;
}> & Omit<{
readonly columns: PlusColumn[];
readonly group: false | PlusFormGroupRow[];
readonly modelValue: FieldValues;
readonly rules: Partial<Record<string, Arrayable<FormItemRule>>>;
readonly labelPosition: "top" | "right" | "left";
readonly labelWidth: string | number;
readonly labelSuffix: string;
readonly hasLabel: boolean;
readonly defaultValues: FieldValues;
readonly rowProps: Partial<Mutable< RowProps>>;
readonly colProps: Partial<Mutable< ColProps>>;
readonly hasErrorTip: boolean;
readonly hasFooter: boolean;
readonly hasReset: boolean;
readonly submitText: string;
readonly resetText: string;
readonly submitLoading: boolean;
readonly footerAlign: "right" | "left" | "center";
readonly cardProps: Partial<Mutable<CardProps>>;
readonly prevent: boolean;
readonly clearable: boolean;
readonly collapseDuration?: number | undefined;
readonly collapseTransition?: boolean | undefined;
onChange?: ((values: FieldValues, column: PlusColumn) => any) | undefined;
"onUpdate:modelValue"?: ((values: FieldValues) => any) | undefined;
onReset?: ((values: FieldValues) => any) | undefined;
onSubmit?: ((values: FieldValues) => any) | undefined;
onValidate?: ((...args: any[]) => any) | undefined;
onSubmitError?: ((errors: unknown) => any) | undefined;
} & VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly< ExtractPropTypes<{
columns: {
type: PropType<PlusColumn[]>;
default: () => never[];
};
group: {
type: PropType<false | PlusFormGroupRow[]>;
default: boolean;
};
modelValue: {
type: PropType<FieldValues>;
default: () => {};
};
rules: {
type: PropType<Partial<Record<string, Arrayable<FormItemRule>>>>;
default: () => {};
};
labelPosition: {
type: PropType<"top" | "right" | "left">;
default: string;
};
labelWidth: {
type: PropType<string | number>;
default: string;
};
labelSuffix: {
type: PropType<string>;
default: string;
};
hasLabel: {
type: PropType<boolean>;
default: boolean;
};
defaultValues: {
type: PropType<FieldValues>;
default: () => {};
};
rowProps: {
type: PropType<Partial<Mutable< RowProps>>>;
default: () => {};
};
colProps: {
type: PropType<Partial<Mutable< ColProps>>>;
default: () => {};
};
hasErrorTip: {
type: PropType<boolean>;
default: boolean;
};
hasFooter: {
type: PropType<boolean>;
default: boolean;
};
hasReset: {
type: PropType<boolean>;
default: boolean;
};
submitText: {
type: PropType<string>;
default: string;
};
resetText: {
type: PropType<string>;
default: string;
};
submitLoading: {
type: PropType<boolean>;
default: boolean;
};
footerAlign: {
type: PropType<"right" | "left" | "center">;
default: string;
};
cardProps: {
type: PropType<Partial<Mutable<CardProps>>>;
default: () => {};
};
prevent: {
type: PropType<boolean>;
default: boolean;
};
collapseDuration: {
type: PropType<number>;
default: undefined;
};
collapseTransition: {
type: PropType<boolean>;
default: undefined;
};
clearable: {
type: PropType<boolean>;
default: boolean;
};
}>> & {
onChange?: ((values: FieldValues, column: PlusColumn) => any) | undefined;
"onUpdate:modelValue"?: ((values: FieldValues) => any) | undefined;
onReset?: ((values: FieldValues) => any) | undefined;
onSubmit?: ((values: FieldValues) => any) | undefined;
onValidate?: ((...args: any[]) => any) | undefined;
onSubmitError?: ((errors: unknown) => any) | undefined;
}, "columns" | "group" | "modelValue" | "rules" | "labelPosition" | "labelWidth" | "labelSuffix" | "hasLabel" | "defaultValues" | "rowProps" | "colProps" | "hasErrorTip" | "hasFooter" | "hasReset" | "submitText" | "resetText" | "submitLoading" | "footerAlign" | "cardProps" | "prevent" | "collapseDuration" | "collapseTransition" | "clearable">;
$attrs: {
[x: string]: unknown;
};
$refs: {
[x: string]: unknown;
};
$slots: Readonly<{
[name: string]: Slot<any> | undefined;
}>;
$root: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
$parent: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
$emit: ((event: "reset", values: FieldValues) => void) & ((event: "submit", values: FieldValues) => void) & ((event: "change", values: FieldValues, column: PlusColumn) => void) & ((event: "update:modelValue", values: FieldValues) => void) & ((event: "validate", ...args: any[]) => void) & ((event: "submitError", errors: unknown) => void);
$el: any;
$options: ComponentOptionsBase<Readonly< ExtractPropTypes<{
columns: {
type: PropType<PlusColumn[]>;
default: () => never[];
};
group: {
type: PropType<false | PlusFormGroupRow[]>;
default: boolean;
};
modelValue: {
type: PropType<FieldValues>;
default: () => {};
};
rules: {
type: PropType<Partial<Record<string, Arrayable<FormItemRule>>>>;
default: () => {};
};
labelPosition: {
type: PropType<"top" | "right" | "left">;
default: string;
};
labelWidth: {
type: PropType<string | number>;
default: string;
};
labelSuffix: {
type: PropType<string>;
default: string;
};
hasLabel: {
type: PropType<boolean>;
default: boolean;
};
defaultValues: {
type: PropType<FieldValues>;
default: () => {};
};
rowProps: {
type: PropType<Partial<Mutable< RowProps>>>;
default: () => {};
};
colProps: {
type: PropType<Partial<Mutable< ColProps>>>;
default: () => {};
};
hasErrorTip: {
type: PropType<boolean>;
default: boolean;
};
hasFooter: {
type: PropType<boolean>;
default: boolean;
};
hasReset: {
type: PropType<boolean>;
default: boolean;
};
submitText: {
type: PropType<string>;
default: string;
};
resetText: {
type: PropType<string>;
default: string;
};
submitLoading: {
type: PropType<boolean>;
default: boolean;
};
footerAlign: {
type: PropType<"right" | "left" | "center">;
default: string;
};
cardProps: {
type: PropType<Partial<Mutable<CardProps>>>;
default: () => {};
};
prevent: {
type: PropType<boolean>;
default: boolean;
};
collapseDuration: {
type: PropType<number>;
default: undefined;
};
collapseTransition: {
type: PropType<boolean>;
default: undefined;
};
clearable: {
type: PropType<boolean>;
default: boolean;
};
}>> & {
onChange?: ((values: FieldValues, column: PlusColumn) => any) | undefined;
"onUpdate:modelValue"?: ((values: FieldValues) => any) | undefined;
onReset?: ((values: FieldValues) => any) | undefined;
onSubmit?: ((values: FieldValues) => any) | undefined;
onValidate?: ((...args: any[]) => any) | undefined;
onSubmitError?: ((errors: unknown) => any) | undefined;
}, {
formInstance: Ref< CreateComponentPublicInstance<Readonly< ExtractPropTypes<{
readonly model: ObjectConstructor;
readonly rules: {
readonly type: PropType<Partial<Record<string, Arrayable<FormItemRule>>>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly labelPosition: EpPropFinalized<StringConstructor, "top" | "right" | "left", unknown, "right", boolean>;
readonly requireAsteriskPosition: EpPropFinalized<StringConstructor, "right" | "left", unknown, "left", boolean>;
readonly labelWidth: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
readonly labelSuffix: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
readonly inline: BooleanConstructor;
readonly inlineMessage: BooleanConstructor;
readonly statusIcon: BooleanConstructor;
readonly showMessage: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly validateOnRuleChange: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly hideRequiredAsterisk: BooleanConstructor;
readonly scrollToError: BooleanConstructor;
readonly scrollIntoViewOptions: {
readonly type: PropType<EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly size: {
readonly type: PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly disabled: BooleanConstructor;
}>> & {
onValidate?: ((prop: FormItemProp, isValid: boolean, message: string) => any) | undefined;
}, {
/**
* 搜索与表格分割线
*/
COMPONENT_NAME: string;
props: Readonly< LooseRequired<Readonly< ExtractPropTypes<{
readonly model: ObjectConstructor;
readonly rules: {
readonly type: PropType<Partial<Record<string, Arrayable<FormItemRule>>>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly labelPosition: EpPropFinalized<StringConstructor, "top" | "right" | "left", unknown, "right", boolean>;
readonly requireAsteriskPosition: EpPropFinalized<StringConstructor, "right" | "left", unknown, "left", boolean>;
readonly labelWidth: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
readonly labelSuffix: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
readonly inline: BooleanConstructor;
readonly inlineMessage: BooleanConstructor;
readonly statusIcon: BooleanConstructor;
readonly showMessage: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly validateOnRuleChange: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly hideRequiredAsterisk: BooleanConstructor;
readonly scrollToError: BooleanConstructor;
readonly scrollIntoViewOptions: {
readonly type: PropType<EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly size: {
readonly type: PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>; /** 渲染包裹层 */
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly disabled: BooleanConstructor;
}>> & {
onValidate?: ((prop: FormItemProp, isValid: boolean, message: string) => any) | undefined;
}>>;
emit: (event: "validate", prop: FormItemProp, isValid: boolean, message: string) => void;
fields: FormItemContext[];
formSize: ComputedRef<"" | "default" | "small" | "large">;
ns: {
namespace: ComputedRef<string>;
b: (blockSuffix?: string | undefined) => string;
e: (element?: string | undefined) => string;
m: (modifier?: string | undefined) => string;
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
em: (element?: string | undefined, modifier?: string | undefined) => string;
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
is: {
(name: string, state: boolean | undefined): string;
(name: string): string;
};
cssVar: (object: Record<string, string>) => Record<string, string>;
cssVarName: (name: string) => string;
cssVarBlock: (object: Record<string, string>) => Record<string, string>;
cssVarBlockName: (name: string) => string;
};
formClasses: ComputedRef<(string | {
[x: string]: boolean | EpPropMergeType<StringConstructor, "top" | "right" | "left", unknown>;
})[]>;
getField: (prop: string) => FormItemContext | undefined;
addField: (field: FormItemContext) => void;
removeField: (field: FormItemContext) => void;
resetFields: (props?: Arrayable<FormItemProp> | undefined) => void;
clearValidate: (props?: Arrayable<FormItemProp> | undefined) => void;
isValidatable: ComputedRef<boolean>;
obtainValidateFields: (props: Arrayable<FormItemProp>) => FormItemContext[];
validate: (callback?: FormValidateCallback | undefined) => FormValidationResult;
doValidateField: (props?: Arrayable<FormItemProp> | undefined) => Promise<boolean>;
validateField: (props?: Arrayable<FormItemProp> | undefined, callback?: FormValidateCallback | undefined) => FormValidationResult;
scrollToField: (prop: FormItemProp) => void;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
validate: (prop: FormItemProp, isValid: boolean, message: string) => boolean;
}, VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly< ExtractPropTypes<{
readonly model: ObjectConstructor;
readonly rules: {
readonly type: PropType<Partial<Record<string, Arrayable<FormItemRule>>>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly labelPosition: EpPropFinalized<StringConstructor, "top" | "right" | "left", unknown, "right", boolean>;
readonly requireAsteriskPosition: EpPropFinalized<StringConstructor, "right" | "left", unknown, "left", boolean>;
readonly labelWidth: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
readonly labelSuffix: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
readonly inline: BooleanConstructor;
readonly inlineMessage: BooleanConstructor;
readonly statusIcon: BooleanConstructor;
readonly showMessage: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly validateOnRuleChange: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly hideRequiredAsterisk: BooleanConstructor;
readonly scrollToError: BooleanConstructor;
readonly scrollIntoViewOptions: {
readonly type: PropType<EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly size: {
readonly type: PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly disabled: BooleanConstructor;
}>> & {
onValidate?: ((prop: FormItemProp, isValid: boolean, message: string) => any) | undefined;
}, {
readonly disabled: boolean;
readonly labelPosition: EpPropMergeType<StringConstructor, "top" | "right" | "left", unknown>;
readonly requireAsteriskPosition: EpPropMergeType<StringConstructor, "right" | "left", unknown>;
readonly labelWidth: EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
readonly labelSuffix: string;
readonly showMessage: EpPropMergeType<BooleanConstructor, unknown, unknown>;
readonly validateOnRuleChange: EpPropMergeType<BooleanConstructor, unknown, unknown>;
readonly inline: boolean;
readonly inlineMessage: boolean;
readonly statusIcon: boolean;
readonly hideRequiredAsterisk: boolean;
readonly scrollToError: boolean;
}, true, {}, {}, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly< ExtractPropTypes<{
readonly model: ObjectConstructor;
readonly rules: {
readonly type: PropType<Partial<Record<string, Arrayable<FormItemRule>>>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly labelPosition: EpPropFinalized<StringConstructor, "top" | "right" | "left", unknown, "right", boolean>;
readonly requireAsteriskPosition: EpPropFinalized<StringConstructor, "right" | "left", unknown, "left", boolean>;
readonly labelWidth: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
readonly labelSuffix: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
readonly inline: BooleanConstructor;
readonly inlineMessage: BooleanConstructor;
readonly statusIcon: BooleanConstructor;
readonly showMessage: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly validateOnRuleChange: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly hideRequiredAsterisk: BooleanConstructor;
readonly scrollToError: BooleanConstructor;
readonly scrollIntoViewOptions: {
readonly type: PropType<EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly size: {
readonly type: PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly disabled: BooleanConstructor;
}>> & {
onValidate?: ((prop: FormItemProp, isValid: boolean, message: string) => any) | undefined;
}, {
/**
* 搜索与表格分割线
*/
COMPONENT_NAME: string;
props: Readonly< LooseRequired<Readonly< ExtractPropTypes<{
readonly model: ObjectConstructor;
readonly rules: {
readonly type: PropType<Partial<Record<string, Arrayable<FormItemRule>>>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly labelPosition: EpPropFinalized<StringConstructor, "top" | "right" | "left", unknown, "right", boolean>;
readonly requireAsteriskPosition: EpPropFinalized<StringConstructor, "right" | "left", unknown, "left", boolean>;
readonly labelWidth: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
readonly labelSuffix: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
readonly inline: BooleanConstructor;
readonly inlineMessage: BooleanConstructor;
readonly statusIcon: BooleanConstructor;
readonly showMessage: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly validateOnRuleChange: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly hideRequiredAsterisk: BooleanConstructor;
readonly scrollToError: BooleanConstructor;
readonly scrollIntoViewOptions: {
readonly type: PropType<EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly size: {
readonly type: PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>; /** 渲染包裹层 */
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly disabled: BooleanConstructor;
}>> & {
onValidate?: ((prop: FormItemProp, isValid: boolean, message: string) => any) | undefined;
}>>;
emit: (event: "validate", prop: FormItemProp, isValid: boolean, message: string) => void;
fields: FormItemContext[];
formSize: ComputedRef<"" | "default" | "small" | "large">;
ns: {
namespace: ComputedRef<string>;
b: (blockSuffix?: string | undefined) => string;
e: (element?: string | undefined) => string;
m: (modifier?: string | undefined) => string;
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
em: (element?: string | undefined, modifier?: string | undefined) => string;
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
is: {
(name: string, state: boolean | undefined): string;
(name: string): string;
};
cssVar: (object: Record<string, string>) => Record<string, string>;
cssVarName: (name: string) => string;
cssVarBlock: (object: Record<string, string>) => Record<string, string>;
cssVarBlockName: (name: string) => string;
};
formClasses: ComputedRef<(string | {
[x: string]: boolean | EpPropMergeType<StringConstructor, "top" | "right" | "left", unknown>;
})[]>;
getField: (prop: string) => FormItemContext | undefined;
addField: (field: FormItemContext) => void;
removeField: (field: FormItemContext) => void;
resetFields: (props?: Arrayable<FormItemProp> | undefined) => void;
clearValidate: (props?: Arrayable<FormItemProp> | undefined) => void;
isValidatable: ComputedRef<boolean>;
obtainValidateFields: (props: Arrayable<FormItemProp>) => FormItemContext[];
validate: (callback?: FormValidateCallback | undefined) => FormValidationResult;
doValidateField: (props?: Arrayable<FormItemProp> | undefined) => Promise<boolean>;
validateField: (props?: Arrayable<FormItemProp> | undefined, callback?: FormValidateCallback | undefined) => FormValidationResult;
scrollToField: (prop: FormItemProp) => void;
}, {}, {}, {}, {
readonly disabled: boolean;
readonly labelPosition: EpPropMergeType<StringConstructor, "top" | "right" | "left", unknown>;
readonly requireAsteriskPosition: EpPropMergeType<StringConstructor, "right" | "left", unknown>;
readonly labelWidth: EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
readonly labelSuffix: string;
readonly showMessage: EpPropMergeType<BooleanConstructor, unknown, unknown>;
readonly validateOnRuleChange: EpPropMergeType<BooleanConstructor, unknown, unknown>;
readonly inline: boolean;
readonly inlineMessage: boolean;
readonly statusIcon: boolean;
readonly hideRequiredAsterisk: boolean;
readonly scrollToError: boolean;
}> | null>;
handleSubmit: () => Promise<boolean>;
handleReset: () => void;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
"update:modelValue": (values: FieldValues) => void;
submit: (values: FieldValues) => void;
change: (values: FieldValues, column: PlusColumn) => void;
reset: (values: FieldValues) => void;
submitError: (errors: unknown) => void;
validate: (...args: any[]) => void;
}, string, {
columns: PlusColumn[];
group: false | PlusFormGroupRow[];
modelValue: FieldValues;
rules: Partial<Record<string, Arrayable<FormItemRule>>>;
labelPosition: "top" | "right" | "left";
labelWidth: string | number;
labelSuffix: string;
hasLabel: boolean;
defaultValues: FieldValues;
rowProps: Partial<Mutable< RowProps>>;
colProps: Partial<Mutable< ColProps>>;
hasErrorTip: boolean;
hasFooter: boolean;
hasReset: boolean;
submitText: string;
resetText: string;
submitLoading: boolean;
footerAlign: "right" | "left" | "center";