choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
149 lines (148 loc) • 4.82 kB
TypeScript
import { ReactNode } from 'react';
import { BigNumber } from 'bignumber.js';
import { FormatNumberFuncOptions } from 'choerodon-ui/dataset/data-set/Field';
import { TextField, TextFieldProps } from '../text-field/TextField';
import { ValidationMessages } from '../validator/Validator';
import { FieldType } from '../data-set/enum';
import defaultFormatNumber from '../formatter/formatNumber';
import { Lang } from '../locale-context/enum';
import { ProcessValueOptions } from '../field/utils';
export declare type FormatNumberFunc = (value: string, lang: string, options: Intl.NumberFormatOptions) => string;
export { FormatNumberFuncOptions };
export interface NumberFieldProps<V = number> extends TextFieldProps<V> {
/**
* 最小值
*/
min?: BigNumber.Value | null;
/**
* 最大值
*/
max?: BigNumber.Value | null;
/**
* 步距
*/
step?: BigNumber.Value;
/**
* 非严格步距
*/
nonStrictStep?: boolean;
/**
* 格式器
*/
formatter?: FormatNumberFunc;
/**
* 格式器参数
*/
formatterOptions?: FormatNumberFuncOptions;
/**
*是否长按按钮按步距增加
*/
longPressPlus?: boolean;
/**
* 小数点精度
*/
precision?: number;
/**
* 千分位分组显示
*/
numberGrouping?: boolean;
/**
* 是否启用UP DOWN键盘事件
*/
keyboard?: boolean;
/**
* @deprecated
*/
stringMode?: boolean;
}
export declare class NumberField<T extends NumberFieldProps> extends TextField<T & NumberFieldProps> {
static displayName: string;
static defaultProps: {
suffixCls: string;
longPressPlus: boolean;
max: number;
min: number;
clearButton: boolean;
multiple: boolean;
border: boolean;
valueChangeAction: import("../text-field/enum").ValueChangeAction;
waitType: import("../core/enum").WaitType;
readOnly: boolean;
disabled: boolean;
noValidate: boolean;
trim: import("../data-set/enum").FieldTrim;
};
static format: typeof defaultFormatNumber;
/**
* @deprecated
*/
static bigNumberFormat: typeof defaultFormatNumber;
plusElement?: HTMLDivElement | null;
minusElement?: HTMLDivElement | null;
get lang(): Lang;
get defaultValidationMessages(): ValidationMessages;
get strict(): boolean;
get allowDecimal(): boolean;
get nonStrictStep(): boolean;
get allowNegative(): boolean;
get min(): BigNumber.Value | undefined | null;
get max(): BigNumber.Value | undefined | null;
get value(): any | undefined;
set value(value: any | undefined);
get clearButton(): boolean;
get keyboard(): boolean;
savePlusRef(ref: any): void;
saveMinusRef(ref: any): void;
isLowerRange(value1: number | string, value2: number | string): boolean;
getFieldType(): FieldType;
getLimit(type: string): BigNumber | number | string | undefined | null;
getValidatorProp(key: string): any;
getInnerSpanButton(): ReactNode;
getWrapperClassNames(...args: any[]): string;
handleEnterDown(e: any): void;
handleKeyDown(e: any): void;
handleKeyDownUp(value: any): void;
handleKeyDownDown(value: any): void;
handlePlus(value: any): void;
handleMinus(value: any): void;
handleOncePlus(): void;
handleOnceMinus(): void;
getOmitPropsKeys(): string[];
getOtherProps(): any;
getObservableProps(props: any, context: any): any;
stepGenerator(isPlus: boolean): IterableIterator<BigNumber.Value>;
getCurrentInputValue(): any;
step(isPlus: boolean): void;
afterStep(newValue: any): void;
prepareSetValue(value: any): void;
getProcessValueOptions(): ProcessValueOptions;
restrictInput(value: string): string;
getFormatOptions(value?: number | BigNumber): FormatNumberFuncOptions;
getFormatter(): any;
processText(value: ReactNode): ReactNode;
renderLengthInfo(): ReactNode;
compare(oldValue: any, newValue: any): boolean;
isValidInput(input: string): boolean;
}
export default class ObserverNumberField extends NumberField<NumberFieldProps> {
static defaultProps: {
suffixCls: string;
longPressPlus: boolean;
max: number;
min: number;
clearButton: boolean;
multiple: boolean;
border: boolean;
valueChangeAction: import("../text-field/enum").ValueChangeAction;
waitType: import("../core/enum").WaitType;
readOnly: boolean;
disabled: boolean;
noValidate: boolean;
trim: import("../data-set/enum").FieldTrim;
};
static format: typeof defaultFormatNumber;
/**
* @deprecated
*/
static bigNumberFormat: typeof defaultFormatNumber;
}