我在ChakraUI中使用NumberInput
如下:
<NumberInput
defaultValue={value}
min={0.00001}
type="type"
size="md"
onChange={setValue}
>
<NumberInputField />
<NumberInputStepper>
<NumberIncrementStepper />
<NumberDecrementStepper />
</NumberInputStepper>
</NumberInput>
现在,正如您所看到的,我只有递增和递减步进器。但我还想添加按钮,如Clear
,+10
,+100
,+1000
等。
显然,当按钮被按下时,我可以很容易地通过调用setValue
来处理值变化。但是,如何使更改显示在NumberInputField
中?
我只发现useNumberInput
钩提供了ChakraUI。然而,它是相当有限的,只适用于一些固定步骤的增量/递减情况。我还发现我可以给Box
设置值,使它像<Box>{value}</Box>
一样,但这样就不可能在框内键入任何内容。所以我很困惑如何实现我的目标。
您所需要做的就是传递有状态的value
作为NumberInput的value
prop,如下所示:
<NumberInput
defaultValue={value}
min={0.00001}
type="type"
size="md"
onChange={setValue}
value={value}
>
<NumberInputField />
<NumberInputStepper>
<NumberIncrementStepper />
<NumberDecrementStepper />
</NumberInputStepper>
</NumberInput>