/** * @author linhd * @date 2021/8/11 13:53 * @description 数字输入框 */ import React, { FunctionComponent, ReactNode } from 'react'; import { LabelTooltipProps } from '../Label'; import { HelperTextDetailProps } from '../HelperText'; import { TooltipProps } from '../Tooltip'; import './index.scss'; export interface InputNumberProps extends HelperTextDetailProps { /** 样式class */ className?: string; /** style */ style?: React.CSSProperties; /** 大小 */ size?: 'small' | 'medium' | 'large'; /** 间隔 */ step?: number; /** 最大值 */ max?: number; /** 最小值 */ min?: number; /** 标题 */ label?: ReactNode; /** 标题在外,还是在内 */ labelMode?: 'outside' | 'inside'; /** 标题提示 */ labelSign?: ReactNode; /** 帮组提示信息 */ labelTooltip?: LabelTooltipProps; /** 提示语 */ placeholder?: ReactNode; /** 按钮模式 左右/上下/无 */ btnMode?: 'lr' | 'tb' | 'none'; /** 是否禁用 */ disabled?: boolean; /** * 禁用提示 */ disabledTooltip?: TooltipProps; disabledTooltipAdd?: TooltipProps; disabledTooltipReduce?: TooltipProps; /** 禁用加 */ disabledAdd?: boolean; /** 禁用减 */ disabledReduce?: boolean; /** 是否必填 */ required?: boolean; /** 是否启用键盘快捷行为 */ keyboard?: boolean; /** 是否自动获取焦点 */ autoFocus?: boolean; /** 只读 */ readOnly?: boolean; /** 指定输入框展示值的格式 */ formatter?: (value: number | string, info: { userTyping: boolean; input: string; }) => string; /** 指定从 formatter 里转换回数字的方式,和 formatter 搭配使用 */ parser?: (displayValue: string) => number; /** 默认值 不受控 */ defaultValue?: number | null; /** 默认值 受控 */ value?: number | null; /** 前缀 */ addonBefore?: ReactNode; /** 后缀 */ addonAfter?: ReactNode; /** 改变事件 number / null */ onChange?: (value: any) => void; /** 回车事件 */ onEnter?: (event: React.KeyboardEvent) => void; /** 失去焦点 */ onBlur?: (event: React.FocusEvent) => void; /** 得到焦点 */ onFocus?: (event: React.FocusEvent) => void; [name: string]: any; } export declare const InputNumber: FunctionComponent; export default InputNumber;