useNumberFieldState
Provides state management for a number field component. Number fields allow users to enter a number, and increment or decrement the value using stepper buttons.
install | yarn add react-stately |
---|---|
version | 3.21.0 |
usage | import {useNumberFieldState} from 'react-stately' |
API#
useNumberFieldState(
(props: NumberFieldStateOptions
)): NumberFieldState
Interface#
Properties
Name | Type | Description |
inputValue | string | The current text value of the input. Updated as the user types,
and formatted according to |
numberValue | number | The currently parsed number value, or NaN if a valid number could not be parsed.
Updated based on the |
minValue | number | The minimum value of the number field. |
maxValue | number | The maximum value of the number field. |
canIncrement | boolean | Whether the current value can be incremented according to the maximum value and step. |
canDecrement | boolean | Whether the current value can be decremented according to the minimum value and step. |
Methods
Method | Description |
validate(
(value: string
)): boolean | Validates a user input string according to the current locale and format options. Values can be partially entered, and may be valid even if they cannot currently be parsed to a number. Can be used to implement validation as a user types. |
setInputValue(
(val: string
)): void | Sets the current text value of the input. |
commit(): void | Commits the current input value. The value is parsed to a number, clamped according
to the minimum and maximum values of the field, and snapped to the nearest step value.
This will fire the |
increment(): void | Increments the current input value to the next step boundary, and fires onChange . |
decrement(): void | Decrements the current input value to the next step boundary, and fires onChange . |
incrementToMax(): void | Sets the current value to the maxValue if any, and fires onChange . |
decrementToMin(): void | Sets the current value to the minValue if any, and fires onChange . |
Example#
See the docs for useNumberField in react-aria for an example of useNumberFieldState
.