choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
289 lines (288 loc) • 10.4 kB
TypeScript
import React, { ReactNode } from 'react';
import { Cancelable } from 'lodash';
import PropTypes from 'prop-types';
import { WaitType } from '../core/enum';
import { FormField, FormFieldProps } from '../field/FormField';
import { ValidatorProps } from '../validator/rules';
import { GroupItemCategory, ValueChangeAction } from './enum';
import { ShowHelp } from '../field/enum';
export declare function isPlaceHolderSupport(): boolean;
export interface TextFieldProps extends FormFieldProps {
/**
* 占位词
*/
placeholder?: string | string[];
/**
* 最小长度
*/
minLength?: number;
/**
* 最大长度
*/
maxLength?: number;
/**
* 正则校验
*/
pattern?: string | RegExp;
/**
* 自动完成
*/
autoComplete?: 'on' | 'off';
/**
* 前缀
*/
prefix?: ReactNode;
/**
* 后缀
*/
suffix?: ReactNode;
/**
* 是否显示清除按钮
*/
clearButton?: boolean;
/**
* 前置标签
*/
addonBefore?: ReactNode;
/**
* 后置标签
*/
addonAfter?: ReactNode;
/**
* 限制可输入的字符
*/
restrict?: string;
/**
* 是否是筛选条 flat 模式
*/
isFlat?: boolean;
/**
* 触发值变更的动作, default: blur
*/
valueChangeAction?: ValueChangeAction;
/**
* 值变更间隔时间,只有在valueChangeAction为input时起作用
*/
wait?: number;
/**
* 值变更间隔类型,可选值:throttle | debounce
* @default throttle
*/
waitType?: WaitType;
groupClassName?: string;
}
export declare class TextField<T extends TextFieldProps> extends FormField<T> {
static displayName: string;
static propTypes: {
id: PropTypes.Requireable<string>;
size: PropTypes.Requireable<import("../core/enum").Size>;
suffixCls: PropTypes.Requireable<string>;
prefixCls: PropTypes.Requireable<string>; /**
* 值变更间隔类型,可选值:throttle | debounce
* @default throttle
*/
title: PropTypes.Requireable<PropTypes.ReactNodeLike>;
disabled: PropTypes.Requireable<boolean>;
hidden: PropTypes.Requireable<boolean>;
autoFocus: PropTypes.Requireable<boolean>;
style: PropTypes.Requireable<object>;
className: PropTypes.Requireable<string>;
tabIndex: PropTypes.Requireable<number>;
lang: PropTypes.Requireable<string>;
spellCheck: PropTypes.Requireable<boolean>;
onFocus: PropTypes.Requireable<(...args: any[]) => any>;
onBlur: PropTypes.Requireable<(...args: any[]) => any>;
onClick: PropTypes.Requireable<(...args: any[]) => any>;
onDoubleClick: PropTypes.Requireable<(...args: any[]) => any>;
onMouseUp: PropTypes.Requireable<(...args: any[]) => any>;
onMouseDown: PropTypes.Requireable<(...args: any[]) => any>;
onMouseMove: PropTypes.Requireable<(...args: any[]) => any>;
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
onMouseOut: PropTypes.Requireable<(...args: any[]) => any>;
onContextMenu: PropTypes.Requireable<(...args: any[]) => any>;
onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
onKeyUp: PropTypes.Requireable<(...args: any[]) => any>;
onKeyPress: PropTypes.Requireable<(...args: any[]) => any>;
dataSet: PropTypes.Requireable<object>;
_inTable: PropTypes.Requireable<boolean>;
type: PropTypes.Requireable<string>;
name: PropTypes.Requireable<string>;
value: PropTypes.Requireable<any>;
defaultValue: PropTypes.Requireable<any>;
required: PropTypes.Requireable<boolean>;
readOnly: PropTypes.Requireable<boolean>;
form: PropTypes.Requireable<string>;
dataIndex: PropTypes.Requireable<number>;
multiple: PropTypes.Requireable<boolean>;
rowSpan: PropTypes.Requireable<number>;
newLine: PropTypes.Requireable<boolean>;
colSpan: PropTypes.Requireable<number>;
validator: PropTypes.Requireable<(...args: any[]) => any>;
onInvalid: PropTypes.Requireable<(...args: any[]) => any>;
help: PropTypes.Requireable<string>;
showHelp: PropTypes.Requireable<ShowHelp>;
renderer: PropTypes.Requireable<(...args: any[]) => any>;
validationRenderer: PropTypes.Requireable<(...args: any[]) => any>;
maxTagPlaceholder: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
maxTagCount: PropTypes.Requireable<number>;
maxTagTextLength: PropTypes.Requireable<number>;
pristine: PropTypes.Requireable<boolean>;
trim: PropTypes.Requireable<import("../data-set/enum").FieldTrim>;
onBeforeChange: PropTypes.Requireable<(...args: any[]) => any>;
onChange: PropTypes.Requireable<(...args: any[]) => any>;
onInput: PropTypes.Requireable<(...args: any[]) => any>;
onEnterDown: PropTypes.Requireable<(...args: any[]) => any>;
fieldClassName: PropTypes.Requireable<string>;
/**
* 占位词
*/
placeholder: PropTypes.Requireable<string | (string | null | undefined)[]>;
/**
* 最小长度
*/
minLength: PropTypes.Requireable<number>;
/**
* 最大长度
*/
maxLength: PropTypes.Requireable<number>;
/**
* 正则校验
*/
pattern: PropTypes.Requireable<string | object>;
/**
* 自动完成
*/
autoComplete: PropTypes.Requireable<string>;
/**
* 前缀
*/
prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
/**
* 后缀
*/
suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
/**
* 是否显示清除按钮
*/
clearButton: PropTypes.Requireable<boolean>;
/**
* 前置标签
*/
addonBefore: PropTypes.Requireable<PropTypes.ReactNodeLike>;
/**
* 后置标签
*/
addonAfter: PropTypes.Requireable<PropTypes.ReactNodeLike>;
/**
* 限制可输入的字符
*/
restrict: PropTypes.Requireable<string>;
/**
* 是否是筛选条 flat 模式
*/
isFlat: PropTypes.Requireable<boolean>;
/**
* 触发值变更的动作, default: blur
*/
valueChangeAction: PropTypes.Requireable<ValueChangeAction>;
/**
* 值变更间隔时间,只有在valueChangeAction为input时起作用
*/
wait: PropTypes.Requireable<number>;
/**
* 值变更间隔类型,可选值:throttle | debounce
* @default throttle
*/
waitType: PropTypes.Requireable<WaitType>;
groupClassName: PropTypes.Requireable<string>;
};
static defaultProps: {
suffixCls: string;
clearButton: boolean;
multiple: boolean;
valueChangeAction: ValueChangeAction;
waitType: WaitType;
readOnly: boolean;
disabled: boolean;
noValidate: boolean;
showHelp: string;
trim: import("../data-set/enum").FieldTrim;
};
text?: string;
type: string;
tagContainer: HTMLUListElement | null;
handleChangeWait: Function & Cancelable;
constructor(props: any, context: any);
componentWillReceiveProps(nextProps: any, nextContext: any): void;
componentWillUnmount(): void;
saveTagContainer(node: any): void;
isEmpty(): boolean;
getOtherProps(): Pick<Pick<Pick<any, string | number | symbol>, string | number | symbol>, string | number | symbol>;
getValidatorProps(): ValidatorProps;
getWrapperClassNames(...args: any[]): string;
renderWrapper(): ReactNode;
renderInputElement(): ReactNode;
renderGroup(): ReactNode;
renderTooltipHelp(): ReactNode;
getPlaceholders(): string[];
getLabel(): any;
wrapGroupItem(node: ReactNode, category: GroupItemCategory): ReactNode;
setRangeTarget(target: any): void;
renderRangeEditor(props: any): JSX.Element;
renderMultipleEditor(props: T): JSX.Element;
getWrappedEditor(): ReactNode;
getClassName(...props: any[]): string | undefined;
/**
* 处理 flat 多选tooltip text
*/
getMultipleText(): string;
getEditor(): ReactNode;
getSuffix(): ReactNode;
getDefaultSuffix(): ReactNode;
wrapperSuffix(children: ReactNode, props?: any): ReactNode;
getPrefix(): ReactNode;
wrapperPrefix(children: ReactNode): ReactNode;
renderMultipleHolder(): JSX.Element | undefined;
getOtherPrevNode(): ReactNode;
getOtherNextNode(): ReactNode;
renderPlaceHolder(): ReactNode;
renderRenderedValue(): ReactNode;
getPlaceHolderNode(): ReactNode;
getInnerSpanButton(): ReactNode;
wrapperInnerSpanButton(children: ReactNode, props?: any): ReactNode;
removeLastValue(): void;
handleTagAnimateEnd(): void;
handleTagAnimateEnter(): void;
handleRangeStart(event: React.MouseEvent<HTMLInputElement, MouseEvent>): void;
handleRangeEnd(event: React.MouseEvent<HTMLInputElement, MouseEvent>): void;
handleKeyDown(e: any): void;
handleMouseDown(e: any): void;
handleClearButtonClick(e: any): void;
handleFocus(e: any): void;
handleBlur(e: any): void;
handleInnerButtonMouseDown(e: any): void;
setValue(value: any): void;
getTextNode(): string;
setText(text?: string): void;
select(): void;
getHandleChange(props: any): Function & Cancelable;
handleChange(e: any): void;
restrictInput(value: string): string;
toValueString(value: any): string | undefined;
}
export default class ObserverTextField extends TextField<TextFieldProps> {
static defaultProps: {
suffixCls: string;
clearButton: boolean;
multiple: boolean;
valueChangeAction: ValueChangeAction;
waitType: WaitType;
readOnly: boolean;
disabled: boolean;
noValidate: boolean;
showHelp: string;
trim: import("../data-set/enum").FieldTrim;
};
}