vuetify
Version:
Vue Material Component Framework
91 lines (87 loc) • 2.74 kB
TypeScript
import * as vue from 'vue';
interface FieldValidationResult {
id: number | string;
errorMessages: string[];
}
interface FormValidationResult {
valid: boolean;
errors: FieldValidationResult[];
}
interface SubmitEventPromise extends SubmitEvent, Promise<FormValidationResult> {
}
declare const VForm: vue.DefineComponent<{
disabled: boolean;
readonly: boolean;
modelValue: boolean | null;
validateOn: "input" | "blur" | "submit" | undefined;
fastFail: boolean;
} & {} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
};
$slots?: {
default?: (() => vue.VNodeChild) | undefined;
} | undefined;
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
}, {
errors: vue.Ref<{
id: string | number;
errorMessages: string[];
}[]>;
isDisabled: vue.ComputedRef<boolean>;
isReadonly: vue.ComputedRef<boolean>;
isValidating: vue.Ref<boolean>;
items: vue.Ref<{
id: string | number;
validate: () => Promise<string[]>;
reset: () => void;
resetValidation: () => void;
isValid: boolean | null;
errorMessages: string[];
}[]>;
validate: () => Promise<{
valid: boolean;
errors: {
id: string | number;
errorMessages: string[];
}[];
}>;
reset: () => void;
resetValidation: () => void;
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
'update:modelValue': (val: boolean | null) => true;
submit: (e: SubmitEventPromise) => true;
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
disabled: boolean;
readonly: boolean;
modelValue: boolean | null;
validateOn: "input" | "blur" | "submit" | undefined;
fastFail: boolean;
} & {} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
};
$slots?: {
default?: (() => vue.VNodeChild) | undefined;
} | undefined;
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
} & {
onSubmit?: ((e: SubmitEventPromise) => any) | undefined;
"onUpdate:modelValue"?: ((val: boolean | null) => any) | undefined;
}, {
disabled: boolean;
readonly: boolean;
modelValue: boolean | null;
validateOn: "input" | "blur" | "submit" | undefined;
fastFail: boolean;
}>;
type VForm = InstanceType<typeof VForm>;
export { VForm };