NumberControl


目录

This feature is still experimental. “Experimental” means this is an early implementation subject to drastic and breaking changes.

NumberControl is an enhanced HTML input[type="number"] element.

Usage

import { __experimentalNumberControl as NumberControl } from '@wordpress/components';

const Example = () => {
    const [ value, setValue ] = useState( 10 );

    return (
        <NumberControl
            isShiftStepEnabled={ true }
            onChange={ setValue }
            shiftStep={ 10 }
            value={ value }
        />
    );
};

Props

dragDirection

Determines the drag axis to increment/decrement the value.
Directions: n | e | s | w

dragThreshold

If isDragEnabled is true, this controls the amount of px to have been dragged before the value changes.

spinControls

The type of spin controls to display. These are buttons that allow the user to
quickly increment and decrement the number.

isDragEnabled

If true, enables mouse drag gesture to increment/decrement the number value. Holding SHIFT while dragging will increase the value by the shiftStep.

isShiftStepEnabled

If true, pressing UP or DOWN along with the SHIFT key will increment the value by the shiftStep value.

label

If this property is added, a label will be generated using label property as the content.

labelPosition

The position of the label (top, side, bottom, or edge).

max

The maximum value allowed.

min

The minimum value allowed.

onChange

Callback fired whenever the value of the input changes.

The callback receives two arguments:

  1. newValue: the new value of the input
  2. extra: an object containing, under the event key, the original browser event.

Note that the value received as the first argument of the callback is not guaranteed to be a valid value (e.g. it could be outside of the range defined by the [min, max] props, or it could not match the step). In order to check the value’s validity, check the event.target?.validity.valid property from the callback’s second argument.

required

If true enforces a valid number within the control’s min/max range. If false allows an empty string as a valid value.

shiftStep

Amount to increment by when the SHIFT key is held down. This shift value is a multiplier to the step value. For example, if the step value is 5, and shiftStep is 10, each jump would increment/decrement by 50.

step

Amount by which the value is changed when incrementing/decrementing. It is also a factor in validation as value must be a multiple of step (offset by min, if specified) to be valid. Accepts the special string value any that voids the validation constraint and causes stepping actions to increment/decrement by 1.


版本号 #2
由 壳壳虫 创建于 2026-10-31 18:14:08 UTC
由 壳壳虫 更新于 2026-10-31 18:14:09 UTC