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