UNPKG

@alifd/next

Version:

A configurable component library for web built on React.

111 lines (110 loc) 5.57 kB
import React from 'react'; import PropTypes from 'prop-types'; import Input from '../input'; import type { NumberPickerProps, NumberPickerState } from './types'; /** NumberPicker */ declare class NumberPicker extends React.Component<NumberPickerProps, NumberPickerState> { static propTypes: { prefix: PropTypes.Requireable<string>; type: PropTypes.Requireable<string>; size: PropTypes.Requireable<string>; value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>; defaultValue: PropTypes.Requireable<NonNullable<string | number | null | undefined>>; disabled: PropTypes.Requireable<boolean>; step: PropTypes.Requireable<NonNullable<string | number | null | undefined>>; precision: PropTypes.Requireable<number>; editable: PropTypes.Requireable<boolean>; autoFocus: PropTypes.Requireable<boolean>; onChange: PropTypes.Requireable<(...args: any[]) => any>; onKeyDown: PropTypes.Requireable<(...args: any[]) => any>; onFocus: PropTypes.Requireable<(...args: any[]) => any>; onBlur: PropTypes.Requireable<(...args: any[]) => any>; onCorrect: PropTypes.Requireable<(...args: any[]) => any>; onDisabled: PropTypes.Requireable<(...args: any[]) => any>; max: PropTypes.Requireable<NonNullable<string | number | null | undefined>>; min: PropTypes.Requireable<NonNullable<string | number | null | undefined>>; className: PropTypes.Requireable<string>; style: PropTypes.Requireable<object>; state: PropTypes.Requireable<string>; format: PropTypes.Requireable<(...args: any[]) => any>; upBtnProps: PropTypes.Requireable<object>; downBtnProps: PropTypes.Requireable<object>; label: PropTypes.Requireable<PropTypes.ReactNodeLike>; innerAfter: PropTypes.Requireable<PropTypes.ReactNodeLike>; rtl: PropTypes.Requireable<boolean>; isPreview: PropTypes.Requireable<boolean>; renderPreview: PropTypes.Requireable<(...args: any[]) => any>; device: PropTypes.Requireable<string>; hasTrigger: PropTypes.Requireable<boolean>; alwaysShowTrigger: PropTypes.Requireable<boolean>; stringMode: PropTypes.Requireable<boolean>; }; static defaultProps: { prefix: string; type: string; size: string; step: number; style: {}; precision: number; editable: boolean; onChange: () => void; onKeyDown: () => void; onBlur: () => void; onCorrect: () => void; onDisabled: () => void; hasTrigger: boolean; alwaysShowTrigger: boolean; stringMode: boolean; }; static displayName: string; inputRef: React.ComponentRef<typeof Input> | null; constructor(props: NumberPickerProps); static getDerivedStateFromProps(nextProps: NumberPickerProps, prevState: NumberPickerState): Partial<NumberPickerState> | null; isGreaterThan(v1: string | number, v2: string | number): boolean; correctBoundary(value: string | number): string | number; setFocus(status: boolean): void; onFocus: NumberPickerProps['onFocus']; onBlur: NumberPickerProps['onBlur']; withinMinMax(value: number | string): boolean; withinMin(value: number | string): boolean; setDisplayValue({ displayValue, onlyDisplay, }: { displayValue: string | number; onlyDisplay?: boolean; }): void; getDisplayValue(): string | number; /** * 输入时判断是否要触发onChange * 正常触发: 合法数字 (eg: -0 -0. 0.1);超出最大值 * 不触发: 1. 非数字(eg: - ), 2. 小于最小值(输入需要过程由小变大) */ shouldFireOnChange(value: string): boolean; onChange(value: string, e: React.ChangeEvent<HTMLInputElement> | React.CompositionEvent<HTMLInputElement> | React.KeyboardEvent<HTMLInputElement>): void; correctValue(value: string): string | number; setValue({ value, e, triggerType, }: { value: string | number; e: React.ChangeEvent<HTMLInputElement> | React.CompositionEvent<HTMLInputElement> | React.KeyboardEvent<HTMLInputElement>; triggerType?: 'up' | 'down'; }): void; getPrecision(): number; getPrecisionFactor(): number; onKeyDown: NumberPickerProps['onKeyDown']; up(disabled: boolean, e: React.KeyboardEvent<HTMLInputElement>): void; down(disabled: boolean, e: React.KeyboardEvent<HTMLInputElement>): void; step(type: 'up' | 'down', disabled: boolean, e: React.KeyboardEvent<HTMLInputElement>): void; upStep(val: number | string): string | number; downStep(val: number | string): string | number; /** * fix bug in chrome browser * 0.28 + 0.01 = 0.29000000000000004 * 0.29 - 0.01 = 0.27999999999999997 * @param value - The numeric value to be corrected */ hackChrome(value: number): number; focus(): void; saveInputRef(ref: React.ComponentRef<typeof Input> | null): void; getInputNode(): (import("../config-provider/types").ConfiguredComponent<import("../input").InputProps & import("../config-provider/types").ComponentCommonProps, import("../input/input").default<import("../input").InputProps>> & Pick<import("../input/input").default<import("../input").InputProps>, "focus" | "getInputNode">) | null; handleMouseDown(e: React.MouseEvent<HTMLButtonElement, MouseEvent>): void; render(): React.JSX.Element; } declare const _default: typeof NumberPicker; export default _default;