mirror of
https://github.com/strapi/strapi.git
synced 2025-11-02 02:44:55 +00:00
GenericInput: cast nullish values for input types to undefined
This commit is contained in:
parent
4da9e8a8dc
commit
43b2108643
@ -38,7 +38,7 @@ const GenericInput = ({
|
||||
required,
|
||||
step,
|
||||
type,
|
||||
value,
|
||||
value: defaultValue,
|
||||
isNullable,
|
||||
...rest
|
||||
}) => {
|
||||
@ -47,6 +47,10 @@ const GenericInput = ({
|
||||
|
||||
const CustomInput = customInputs ? customInputs[type] : null;
|
||||
|
||||
// the API always returns null, which throws an error in React,
|
||||
// therefore we cast this case to undefined
|
||||
const value = defaultValue ?? undefined;
|
||||
|
||||
if (CustomInput) {
|
||||
return (
|
||||
<CustomInput
|
||||
@ -109,7 +113,7 @@ const GenericInput = ({
|
||||
|
||||
return (
|
||||
<ToggleInput
|
||||
checked={value === null ? null : value || false}
|
||||
checked={defaultValue === null ? null : defaultValue || false}
|
||||
disabled={disabled}
|
||||
hint={hint}
|
||||
label={label}
|
||||
@ -170,7 +174,7 @@ const GenericInput = ({
|
||||
onClear={() => onChange({ target: { name, value: null, type } })}
|
||||
placeholder={formattedPlaceholder}
|
||||
required={required}
|
||||
value={value ? new Date(value) : null}
|
||||
value={value && new Date(value)}
|
||||
selectedDateLabel={formattedDate => `Date picker, current is ${formattedDate}`}
|
||||
/>
|
||||
);
|
||||
@ -221,7 +225,7 @@ const GenericInput = ({
|
||||
placeholder={formattedPlaceholder}
|
||||
required={required}
|
||||
step={step}
|
||||
value={value ?? null}
|
||||
value={value}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@ -240,7 +244,7 @@ const GenericInput = ({
|
||||
placeholder={formattedPlaceholder}
|
||||
required={required}
|
||||
type="email"
|
||||
value={value || ''}
|
||||
value={value}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@ -261,7 +265,7 @@ const GenericInput = ({
|
||||
placeholder={formattedPlaceholder}
|
||||
required={required}
|
||||
type="text"
|
||||
value={value || ''}
|
||||
value={value}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@ -303,7 +307,7 @@ const GenericInput = ({
|
||||
placeholder={formattedPlaceholder}
|
||||
required={required}
|
||||
type={showPassword ? 'text' : 'password'}
|
||||
value={value || ''}
|
||||
value={value}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@ -322,7 +326,7 @@ const GenericInput = ({
|
||||
}}
|
||||
placeholder={formattedPlaceholder}
|
||||
required={required}
|
||||
value={value || ''}
|
||||
value={value}
|
||||
>
|
||||
{options.map(({ metadatas: { intlLabel, disabled, hidden }, key, value }) => {
|
||||
return (
|
||||
@ -348,7 +352,7 @@ const GenericInput = ({
|
||||
required={required}
|
||||
placeholder={formattedPlaceholder}
|
||||
type={type}
|
||||
value={value || ''}
|
||||
value={value}
|
||||
>
|
||||
{value}
|
||||
</Textarea>
|
||||
@ -415,7 +419,7 @@ GenericInput.defaultProps = {
|
||||
required: false,
|
||||
options: [],
|
||||
step: 1,
|
||||
value: '',
|
||||
value: undefined,
|
||||
};
|
||||
|
||||
GenericInput.propTypes = {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user