import { forwardRef, PropsWithoutRef } from "react" import { useField } from "react-final-form" export interface LabeledSelectFieldProps extends PropsWithoutRef { /** Field name. */ name: string /** Field label. */ label: string type?: "number" | "string" options: any outerProps?: PropsWithoutRef } export const LabeledSelectField = forwardRef( ({ name, label, outerProps, options, type="number", ...props }, ref) => { const { input, meta: { touched, error, submitError, submitting }, } = useField(name, { parse: type === "number" ? Number : undefined, }) const normalizedError = Array.isArray(error) ? error.join(", ") : error || submitError return (
{touched && normalizedError && (
{normalizedError}
)}
) } ) export default LabeledSelectField