UNPKG

veui

Version:

Baidu Enterprise UI for Vue.js.

54 lines (42 loc) 1.3 kB
import { VeuiDefineComponent, VeuiDefineInstance, UiMixin } from '../common' type Validities = boolean | undefined | Record<any, unknown> type ValidiateFn = (submitData: Record<any, unknown>) => Validities type ValidatorItem = { fields: Array<string> validate: (...args: any[]) => Validities triggers?: string | Array<string> } type Props = { validators?: Array<ValidatorItem> beforeValidate?: ValidiateFn afterValidate?: ValidiateFn disabled?: boolean readonly?: boolean labelPosition?: 'side' | 'top' data?: Record<any, unknown> } type Emits = { submit(data: Record<any, unknown>, evt: Event): void invalid(errors: Record<any, unknown>): void } type Mixins = UiMixin type Slots = { default(): unknown actions(slotProps: { submit: () => unknown }): unknown } type InputValidity = { status: 'success' | 'warning' | 'error' message: string } type Methods = { submit(): void validate( fieldNames?: Array<string> | null ): Promise<true | Record<string, Record<any, unknown>>> clearValidities(fieldNames?: Array<string> | null): void setValidities(validities: Record<string, string | InputValidity>): void } type Form = VeuiDefineComponent<{ new (...args: any[]): VeuiDefineInstance<Props, Emits, Slots, Mixins, Methods> }> export default Form