Antd输入值在滚动时发生变化



当输入框处于聚焦模式时,如果数字自动增加,则用户向上滚动该值,而当向下滚动时,该值自动减少。这种影响只在一些输入组件上被注意到,而不是所有的,即使代码实际上是一样的——只是占位符值的变化——有人知道原因吗?我知道我可以通过防止默认滚动事件来阻止它,但我想知道它背后的原因。谢谢

这是在滚动的基础上数字增加或减少的代码

<Input
onChange={(e) =>
updateAssembledInputs({
key: 'assembledArray',
value: {
id: ele.id,
key: 'quantity',
value: e.target.value,
},
})
}
value={ele.productItems[0]?.quantity}
type="number"
onKeyDown={(evt) => INPUT_TYPE_NUMBER.includes(evt.key) && evt.preventDefault()}
bordered={false}
className="h-10 text-normal font-semibold font-montserrat
text-baby-elephant"
suffix="UNITS"
/>

这是什么都不发生的代码

<Input
onChange={(e) =>
updateAssembledInputs({
key: 'assembledArray',
value: {
id: ele.id,
key: 'minimalStockLimit',
value: e.target.value,
},
})
}
value={ele.minimalStockLimit}
type="number"
onKeyDown={(evt) => INPUT_TYPE_NUMBER.includes(evt.key) && evt.preventDefault()}
bordered={false}
className="h-10 text-normal font-semibold font-montserrat text-baby-elephant"
suffix="UNITS"
/>

发生此错误的原因是类型="数字";。如果您使用的是输入形式Ant Design,您可以在规则中添加regex(在模式中(以避免所有不是数字的内容,然后您可以使用type="文本";

最新更新