Skip to content

Commit bce2244

Browse files
committed
fix scroll for InputField
1 parent 6b8517f commit bce2244

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

packages/@dcl/inspector/src/components/ui/TextField/TextField.tsx

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,16 @@ import { Props } from './types'
88

99
import './TextField.css'
1010

11+
function buildBlurEvent(event: React.MouseEvent<HTMLInputElement>) {
12+
return {
13+
...event,
14+
type: 'blur',
15+
target: event.target,
16+
currentTarget: event.currentTarget,
17+
relatedTarget: null
18+
} as unknown as React.FocusEvent<HTMLInputElement>
19+
}
20+
1121
const TextField = React.forwardRef<HTMLInputElement, Props>((props, ref) => {
1222
const {
1323
drop,
@@ -43,6 +53,7 @@ const TextField = React.forwardRef<HTMLInputElement, Props>((props, ref) => {
4353

4454
const handleInputChange: React.ChangeEventHandler<HTMLInputElement> = useCallback(
4555
(event) => {
56+
console.log('asd 1', event)
4657
setInputValue(event.target.value)
4758
debounceChange(event)
4859
},
@@ -74,6 +85,20 @@ const TextField = React.forwardRef<HTMLInputElement, Props>((props, ref) => {
7485
setHovered(false)
7586
}, [setHovered])
7687

88+
const handleWheel: React.WheelEventHandler<HTMLInputElement> = useCallback(
89+
(event) => {
90+
if (type === 'number') {
91+
event.preventDefault()
92+
event.stopPropagation()
93+
const input = event.currentTarget
94+
input.blur()
95+
onBlur?.(buildBlurEvent(event))
96+
return false
97+
}
98+
},
99+
[type, onBlur]
100+
)
101+
77102
const renderLeftContent = useCallback(() => {
78103
if (leftLabel) {
79104
return (
@@ -130,6 +155,7 @@ const TextField = React.forwardRef<HTMLInputElement, Props>((props, ref) => {
130155
onBlur={handleInputBlur}
131156
onMouseEnter={handleMouseEnter}
132157
onMouseLeave={handleMouseLeave}
158+
onWheel={handleWheel}
133159
disabled={disabled}
134160
{...rest}
135161
/>

0 commit comments

Comments
 (0)