///
import * as React from 'react';
import CommonProps from '../util';
import { ButtonProps } from '../button';
import Input from '../input';
interface HTMLAttributesWeak extends React.HTMLAttributes {
defaultValue?: any;
onChange?: any;
onKeyDown?: any;
}
export interface NumberPickerProps extends HTMLAttributesWeak, CommonProps {
/**
* 样式前缀
*/
prefix?: string;
name?: string;
/**
* 设置类型
*/
type?: 'normal' | 'inline';
/**
* 大小
*/
size?: 'large' | 'medium' | 'small';
/**
* 当前值
*/
value?: number | string;
/**
* 默认值
*/
defaultValue?: number | string;
/**
* 内联 左侧label
*/
label?: React.ReactNode;
/**
* 文字后附加内容
*/
innerAfter?: React.ReactNode;
/**
* 是否禁用
*/
disabled?: boolean;
/**
* 步长
*/
step?: number | string;
/**
* 保留小数点后位数
*/
precision?: number;
/**
* 用户是否可以输入
*/
editable?: boolean;
/**
* 自动焦点
*/
autoFocus?: boolean;
/**
* 数值被改变的事件
*/
onChange?: (value: number, e: any) => void;
/**
* 键盘按下
*/
onKeyDown?: (e: React.KeyboardEvent) => void;
/**
* 焦点获得
*/
onFocus?: (e: React.FocusEvent) => void;
/**
* 焦点失去
*/
onBlur?: (e: React.FocusEvent) => void;
/**
* 数值订正后的回调
*/
onCorrect?: (obj: object) => void;
/**
* 最大值
*/
max?: number | string;
/**
* 最小值
*/
min?: number | string;
/**
* 自定义class
*/
className?: string;
/**
* 自定义内联样式
*/
style?: React.CSSProperties;
/**
* 格式化当前值
*/
format?: (value: number) => string | number;
/**
* 增加按钮的props
*/
upBtnProps?: ButtonProps;
/**
* 减少按钮的props
*/
downBtnProps?: ButtonProps;
/**
* 控制按钮一直显示、隐藏
*/
alwaysShowTrigger?: boolean;
/**
* 是否为预览态
*/
isPreview?: boolean;
/**
* 预览态模式下渲染的内容
*/
renderPreview?: (value: number | string, props: object) => React.ReactNode;
/**
* 预设屏幕宽度
*/
device?: 'phone' | 'tablet' | 'desktop';
/**
* 是否展示点击按钮
*/
hasTrigger?: boolean;
/**
* 开启大数支持,输入输出均为string类型
*/
stringMode?: boolean;
}
export default class NumberPicker extends React.Component {
getInputNode: () => Input;
}