UNPKG

@jiaozhiye/qm-design-vue

Version:

A Component Library for Vue3.0

145 lines (144 loc) 4.67 kB
import type { PropType, ExtractPropTypes, Ref, ComputedRef, StyleValue } from 'vue'; import { IExpandData } from './types'; import type { IFormItem, IFormData, IExtraData, IFieldData, IFormLayout, ILabelAlign, IFormType, IAuthConfig } from './types'; import type { Arrayable, ComponentSize, JSXElement, ValueOf } from '../../_utils/types'; export declare const _props: { items: { type: PropType<IFormItem[]>; required: boolean; default: () => never[]; }; size: { type: PropType<ComponentSize>; validator: (val: string) => boolean; }; initialValues: { type: PropType<IFormData<string | number, string | number | (string | number)[] | undefined>>; default: () => {}; }; initialExtras: { type: PropType<IExtraData>; default: () => {}; }; layout: { type: PropType<IFormLayout>; default: string; }; cols: { type: NumberConstructor; }; labelWidth: { type: PropType<string | number>; default: number; validator: (val: string | number) => boolean; }; labelAlign: { type: PropType<ILabelAlign>; default: string; }; labelWrap: { type: BooleanConstructor; }; formType: { type: PropType<IFormType>; default: string; }; disabled: { type: BooleanConstructor; }; uniqueKey: { type: StringConstructor; }; defaultRows: { type: NumberConstructor; default: number; }; defaultExpand: { type: BooleanConstructor; }; searchButtonCols: { type: NumberConstructor; }; scrollToFirstError: { type: BooleanConstructor; default: boolean; }; authConfig: { type: PropType<IAuthConfig>; }; isAutoFocus: { type: BooleanConstructor; default: boolean; }; isCollapse: { type: BooleanConstructor; default: boolean; }; isFieldsDefine: { type: BooleanConstructor; default: undefined; }; isSearchBtn: { type: BooleanConstructor; default: boolean; }; isSubmitBtn: { type: BooleanConstructor; }; fieldsChange: { type: PropType<(items: IFormItem[]) => void>; }; class: { type: PropType<string | Arrayable<Record<string, boolean>>>; }; style: { type: PropType<StyleValue>; }; }; export declare const _emits: { valuesChange: (changedValues: IFormData, initialValues: IFormData) => boolean; fieldsChange: (changedFields: IFieldData[], allFields: IFieldData[]) => boolean; finish: (values: IFormData) => boolean; finishFailed: (errorFields: any[]) => boolean; reset: () => boolean; collapse: (collapse: boolean) => boolean; }; export type FormProps = ExtractPropTypes<typeof _props>; export type FormItemProps = IFormItem; export type FormEmits = typeof _emits; export type FormInstance = { SET_FIELDS_VALUE: (values: IFormData) => void; GET_FIELDS_VALUE: (fields?: string[]) => IFormData; GET_FORM_DATA: () => Promise<[any, any]>; VALIDATE_FIELDS: (fields?: string[]) => Promise<any[]>; CLEAR_VALIDATE: (fields?: string[]) => void; SET_FIELDS_EXTRA: (values: IExtraData) => void; GET_FIELDS_EXTRA: (fields?: string[]) => IExtraData; SUBMIT_FORM: () => void; RESET_FORM: () => void; CREATE_FOCUS: (fieldName: string) => void; SET_FORM_ITEM: (fieldName: string, option: Record<string, any>, forceUpdate?: boolean) => void; }; export type FormInject = { formData: Ref<IFormData>; other: Ref<IFormData>; expand: Ref<IExpandData>; isOnlyShow: ComputedRef<boolean>; isFilterType: ComputedRef<boolean>; setFormValue: (fieldName: string, value: ValueOf<IFormData>) => void; setViewValue: (fieldName: string, value?: string) => void; getViewValue: (fieldName: string) => string; setExpandHandle: (value: boolean) => void; getOriginItems: () => IFormItem[]; getFormItemLabel: (label: string | JSXElement | IFormItem) => string; renderFormLabel: (label: string | JSXElement | IFormItem, tip?: string) => JSXElement | string; renderFormItemExtra: (option: IFormItem['extra'] & { fieldName: string; }) => JSXElement; renderFormItemButton: (fieldName: string, buttonAfter: IFormItem['buttonAfter']) => JSXElement | undefined | null; getBlockDerivedItems: () => any[]; SUBMIT_FORM: () => void; SET_FIELDS_VALUE: (values: IFormData) => void; SET_FIELDS_EXTRA: (values: IExtraData) => void; GET_FIELDS_VALUE: (fields?: string[]) => IFormData; };