fix: update useInput and remove unnecessary fake js events

This commit is contained in:
jongomez 2023-10-04 16:16:54 +01:00 committed by Jon
parent 86125f73fd
commit 85d05cd6fe
2 changed files with 10 additions and 22 deletions

View File

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

View File

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