@oiij/naive-ui
Version:
Som Composable Functions And Components for Vue 3
38 lines (37 loc) • 1.57 kB
text/typescript
import * as vue0 from "vue";
import { Ref } from "vue";
import * as _vueuse_core0 from "@vueuse/core";
import { ValidateError } from "async-validator";
import { FormInst, FormItemRule, FormRules } from "naive-ui";
//#region src/composables/useNaiveForm.d.ts
type NaiveFormClearRules = {
string?: string | null;
number?: number | null;
boolean?: boolean | null;
};
type NaiveFormRules<T extends Record<string, any>> = Partial<Record<keyof T, FormRules | FormItemRule | FormItemRule[]>>;
type NaiveFormOptions<T extends Record<string, any>> = {
rules?: NaiveFormRules<T>;
clearRules?: NaiveFormClearRules;
};
declare function useNaiveForm<T extends Record<string, any> = Record<string, any>>(value?: T | Ref<T>, options?: NaiveFormOptions<T>): {
formRef: Ref<FormInst | undefined, FormInst | undefined>;
formValue: Ref<T, T>;
formRules: Partial<Record<keyof T, FormRules | FormItemRule | FormItemRule[]>> | undefined;
formProps: {
ref: Ref<FormInst | undefined, FormInst | undefined>;
model: vue0.Reactive<T>;
rules: Partial<Record<keyof T, FormRules | FormItemRule | FormItemRule[]>> | undefined;
};
validate: () => Promise<{
warnings?: ValidateError[][];
}>;
resetValidation: () => void;
resetForm: () => void;
reset: () => void;
clear: () => void;
onValidated: _vueuse_core0.EventHookOn<[T]>;
};
type NaiveFormReturns<T extends Record<string, any> = Record<string, any>> = ReturnType<typeof useNaiveForm<T>>;
//#endregion
export { NaiveFormClearRules, NaiveFormOptions, NaiveFormReturns, NaiveFormRules, useNaiveForm };