shineout
Version:
Shein 前端组件库
111 lines (110 loc) • 3.26 kB
TypeScript
import React from 'react';
import { StandardProps } from '../@types/common';
import { GetInputableProps } from '../Form/Props';
import { GetDelayProps } from '../hoc/Props';
export interface BaseProps extends StandardProps {
/**
* @en Form field, used with Form
* @cn 表单字段, 配合 Form 使用
*/
name?: string;
/**
* @inner 内部属性
*/
error?: Error;
/**
* @en Whether to show the border
* @cn 是否显示外边框
* @default false
*/
bordered?: boolean;
/**
* @en Whether to disable
* @cn 是否禁用
* @default false
*/
disabled?: boolean;
/**
* @en Whether to show the clear button
* @cn 是否展示清除按钮
* @default true
*/
clearable?: boolean;
/**
* @en The same as the native placeholder tag
* @cn 同原生属性
*/
placeholder?: string;
/**
* @en width of the editablearea
* @cn 编辑域宽度
*/
width?: number | string;
/**
* @en the maxHeight of the textarea, scroll bars appear after more than
* @cn 输入框的最大高度, 超过之后会出现滚动条
*/
maxHeight?: number | string;
innerTitle?: React.ReactNode;
placeTitle?: React.ReactNode;
/**
* @en blur event
* @cn 失去焦点事件
*/
onBlur?: (e: React.FocusEvent) => void;
/**
* @en focus event
* @cn 聚焦事件
*/
onFocus?: (e: React.FocusEvent) => void;
/**
* @en Custom Popover container, override the default behavior which is rendering under the body, () => DOMElement
* @cn 自定义Popover容器,覆盖默认渲染在body下的行为, () => DOMElement
*/
getPopupContainer?: () => HTMLElement;
/**
* @inner 内部属性
*/
onShowTextareaChange?: (value: boolean) => void;
/**
* @en Render textarea footer
* @cn 渲染 textarea footer
*/
renderFooter?: (value: string) => React.ReactNode;
/**
* @en Customize display results
* @cn 自定义显示结果
*/
renderResult?: (value: string) => React.ReactNode;
/**
* @en Callback function when the value changes
* @cn 值改变后的回调函数
*/
onChange?: (value: string) => void;
/**
* @en The value passed in when controlled
* @cn 受控
*/
value?: string;
/**
* @en default value
* @cn 默认值
*/
defaultValue?: string;
/**
* @en When trim is true, blank characters are automatically deleted when lose focus
* @cn trim 为 true 时,失去焦点时会自动删除空白字符
*/
trim?: boolean;
forceChange: (value: string) => void;
}
export declare type EditableAreaPropsWidthDelay = GetDelayProps<BaseProps>;
export declare type EditableAreaPropsWidthInputable = GetInputableProps<EditableAreaPropsWidthDelay, string>;
/**
* @title EditableArea
*/
export declare type EditableAreaProps = Omit<EditableAreaPropsWidthInputable, 'innerTitle' | 'placeTitle' | 'filterSameChange'>;
export declare class EditableAreaClass extends React.Component<EditableAreaProps, {}> {
render(): JSX.Element;
}
export declare type EditableAreaType = typeof EditableAreaClass;