yanzhen-design-vue
Version:
59 lines (58 loc) • 3.47 kB
TypeScript
import { SetupContext } from 'vue';
import { FormProviderEmits, FormProviderProps } from './form-provider';
import { FormProviderModel, FormProviderRefInstance } from './types';
export declare function useFormProvider(props: Partial<FormProviderProps>, emit: SetupContext<FormProviderEmits>['emit']): {
readonly ctx: {
pageProviderProps: import('vue').ComputedRef<Partial<FormProviderProps>>;
modelRef: import('vue').ComputedRef<FormProviderModel>;
rulesRef: import('vue').ComputedRef<{}>;
schemaRef: import('vue').ComputedRef<Record<string, any>>;
rowSchema: import('vue').ComputedRef<SchemaConfig>;
formSchema: import('vue').ComputedRef<SchemaConfig>;
formRef: import('vue').Ref<FormProviderRefInstance, FormProviderRefInstance>;
bodySchema: import('vue').ComputedRef<(void | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
[key: string]: any;
}> | import('./types').FormProviderBaseBody)[] | (() => void | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
[key: string]: any;
}> | import('./types').FormProviderBaseBody | (void | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
[key: string]: any;
}> | import('./types').FormProviderBaseBody)[])[]>;
bodySchemaConfig: import('vue').ComputedRef<(import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
[key: string]: any;
}> | import('./types').FormProviderBaseBody)[]>;
};
readonly methods: {
handleFormProviderItemProps: (item: any) => {
vnode: import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
[key: string]: any;
}>;
} | {
type: string | import('vue').VNode;
props?: Record<string, any>;
events?: Record<string, any>;
use?: boolean;
draggable?: boolean | Record<string, any>;
readOnly?: boolean;
hidden?: boolean;
visible?: boolean;
field?: import('./types').FormProviderFieldProps;
col?: import('./types').FormProviderItemColProps;
body?: void | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
[key: string]: any;
}> | import('./types').FormProviderBaseBody | (void | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
[key: string]: any;
}> | import('./types').FormProviderBaseBody)[] | (() => void | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
[key: string]: any;
}> | import('./types').FormProviderBaseBody | (void | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
[key: string]: any;
}> | import('./types').FormProviderBaseBody)[]);
formItemProps: Record<string, any>;
colProps: Record<string, any>;
vnode?: undefined;
};
};
readonly templates: {
DefinePageProviderItem: import('@vueuse/core').DefineTemplateComponent<object, Record<string, import('vue').Slot>>;
ReusablePageProviderItem: import('@vueuse/core').ReuseTemplateComponent<object, Record<string, import('vue').Slot>>;
};
};