diff --git a/src/types.ts b/src/types.ts index cb5f680..ac9031d 100644 --- a/src/types.ts +++ b/src/types.ts @@ -136,17 +136,24 @@ export type ControllerProps< TFieldName extends DeepPath, TAs extends 'input' | 'select' | 'textarea' > = Assign< - { + ( + | { + as: TAs; + render?: undefined; + } + | { + as?: undefined; + render: (props: { + onChange: (...event: any[]) => void; + onBlur: () => void; + value: DeepPathValue; + }) => React.ReactElement; + } + ) & { name: TFieldName; - as?: TAs; rules?: ValidationRules>; onFocus?: () => void; defaultValue?: DeepPathValue; - render?: (props: { - onChange: (...event: any[]) => void; - onBlur: () => void; - value: DeepPathValue; - }) => React.ReactElement; }, JSX.IntrinsicElements[TAs] >; diff --git a/src/useTypedController.tsx b/src/useTypedController.tsx index 4de3f53..e9f2b81 100644 --- a/src/useTypedController.tsx +++ b/src/useTypedController.tsx @@ -31,7 +31,7 @@ export const useTypedController = < ); },