@ithinkdt/naive
Version:
iThinkDT Naive UI
40 lines (33 loc) • 1.41 kB
TypeScript
import { FormProps, GridProps } from 'ithinkdt-ui'
import { PublicProps, GenericCtx, GenericReturn, GenericExposed } from '@ithinkdt/common'
import { UnwrapRefFormItem } from '@ithinkdt/core'
declare interface _FormProps<T extends {}> extends Omit<FormProps, 'model' | 'onSubmit'>, Omit<GridProps, 'collapsed'> {
items: UnwrapRefFormItem<T>[]
model: T
preset?: 'search' | 'form'
showAction?: boolean
actionAlign?: 'left' | 'right' | 'center'
submitText?: string
loading?: boolean
showColon?: boolean
readonly?: boolean
defaultCollapsed?: boolean
// eslint-disable-next-line @typescript-eslint/no-explicit-any
onSubmit?: (model: Partial<T>, ev: Event) => any
// eslint-disable-next-line @typescript-eslint/no-explicit-any
onReset?: () => any
}
declare interface _FormEmits<T> {
(e: 'submit', model: Partial<T>, ev: Event): void
(e: 'reset'): void
}
export declare const DtForm: <T extends {}>(
props: _FormProps<T> & PublicProps,
ctx?: Pick<GenericCtx<_FormProps<T>, _FormEmits<T>>, 'attrs' | 'emit' | 'slots'>,
expose?: (exposed?: GenericExposed) => void,
setup?: GenericCtx<_FormProps<T>, _FormEmits<T>>,
) => GenericReturn<_FormProps<T>, _FormEmits<T>>
export declare interface DtFormProps<T extends {} = Record<string, unknown>> extends _FormProps<T> {
onSubmit?(model: Partial<T>, e: Event): void
onReset?(): void
}