fix: update useInput and remove unnecessary fake js events

This commit is contained in:
jongomez 2023-10-04 16:16:54 +01:00
parent c00b833a39
commit b9217ce235
2 changed files with 10 additions and 22 deletions

View File

@ -59,28 +59,12 @@ export const NumberInput: React.FC<NumberInputProps> & {
if (disabled) return if (disabled) return
const newValue = Math.min(max, Number(input.value || '0') + step) const newValue = Math.min(max, Number(input.value || '0') + step)
input.setValue(newValue.toString()) input.setValue(newValue.toString())
const fakeEvent = {
target: { value: newValue.toString() },
}
if (onChange) {
input.onChange(fakeEvent as any)
}
} }
const handleDecrement = () => { const handleDecrement = () => {
if (disabled) return if (disabled) return
const newValue = Math.max(min, Number(input.value || '0') - step) const newValue = Math.max(min, Number(input.value || '0') - step)
input.setValue(newValue.toString()) input.setValue(newValue.toString())
const fakeEvent = {
target: { value: newValue.toString() },
}
if (onChange) {
input.onChange(fakeEvent as any)
}
} }
return ( return (

View File

@ -28,12 +28,16 @@ export const useInput = <T extends InputValueType = InputValueType>(
: value.toString().length > 0 : value.toString().length > 0
const onChange: InputOnChangeType = (event) => { const onChange: InputOnChangeType = (event) => {
if (uncontrolled) {
const type = event.target.type const type = event.target.type
const value = const value =
event.target[ event.target[
type === 'checkbox' || type === 'radio' ? 'checked' : 'value' type === 'checkbox' || type === 'radio' ? 'checked' : 'value'
] ]
if (uncontrolled) return setValue(value as T)
setValue(value as T)
}
props.onChange && props.onChange(event) props.onChange && props.onChange(event)
} }