@cainiaofe/cn-ui-m
Version:
151 lines (150 loc) • 3.54 kB
TypeScript
/// <reference types="react" />
import { ValueType } from './value-type';
export interface CnInputProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onFocus' | 'onBlur'> {
/**
* 自定义类名
*/
className?: string;
/**
* input尺寸 'small' | 'medium' | 'large'
*/
size?: 'small' | 'medium' | 'large';
/**
* 是否在form.item中,在form中会使用small尺寸
* @ignore 内部使用
*/
insideForm?: boolean;
/**
* 主题颜色控制,normal | inverse
* */
type?: 'normal' | 'inverse';
/**
* 输入值(受控)
*/
value?: ValueType;
/**
* 默认输入值 (非受控)
*/
defaultValue?: ValueType;
/**
* 占位文案
*/
placeholder?: string;
/**
* 指定键盘类型 `v0.12.31+`
* @since 0.12.31
*/
inputMode?: 'none' | 'text' | 'decimal' | 'numeric' | 'url' | 'tel' | 'search' | 'email' | 'url';
/**
* 键盘回车按钮的展示类型
*/
enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
/**
* 是否使用初始的 ref 值
*/
useOriginalRef?: boolean;
/**
* 是否为密码
*/
isPassword?: boolean;
/**
* 是否允许切换密码显示
*/
canTogglePasswordShow?: boolean;
/**
* 接受input真实的type值,不推荐使用
*/
htmlType?: 'password' | 'text' | 'number';
/**
* 状态 'loading' | 'warning' | 'success' | 'error'
*/
state?: 'normal' | 'loading' | 'warning' | 'success' | 'error';
/**
* 最大长度
*/
maxLength?: number;
/**
* 是否展现内容长度样式 例如 0/10
*/
showLimitHint?: boolean;
/**
* 文本框为只读态
*/
readOnly?: boolean;
/**
* 禁止输入
*/
disabled?: boolean;
/**
* style样式
*/
style?: object;
/**
* 显示清空输入按钮
*/
hasClear?: boolean;
/**
* 初始化时自动获得焦点
*/
autoFocus?: boolean;
/**
* 文本对齐方式 'left' | 'right'
*/
align?: 'left' | 'right';
/**
* 是否为受控模式
*/
controlled?: boolean;
/**
* 聚焦高亮
*/
highlightable?: boolean;
/**
* 右侧附加项,接受节点
*/
addonAfter?: any;
/**
* 左侧附加项,接受节点
*/
addonBefore?: any;
/**
* 输入文字后面附加内容
*/
innerAfter?: any;
/**
* 输入文字前面附加内容
*/
innerBefore?: any;
/**
* 确认框类型 'done' | 'go' | 'next' | 'search' | 'send'
*/
confirmType?: 'done' | 'go' | 'next' | 'search' | 'send';
/**
* focus 事件回调
*/
onFocus?: (e?: React.FormEvent<HTMLInputElement>) => void;
/**
* 点击清空按钮 事件回调
*/
onClear?: (e?: any) => void;
/**
* blur 事件回调
*/
onBlur?: (e?: React.FormEvent<HTMLInputElement>) => void;
/**
* 值改变时触发的回调函数
*/
onChange?: (val: string, e?: React.FormEvent<HTMLInputElement>) => void;
/**
* confirm 事件回调
*/
onConfirm?: (val: string, e: React.FormEvent<HTMLInputElement>) => void;
/**
* 输入合成开始时 事件回调
*/
onCompositionStart?: (e?: any) => void;
/**
* 输入合成结束时 事件回调
*/
onCompositionEnd?: (e?: any) => void;
}