You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.2 KiB
37 lines
1.2 KiB
import * as React from 'react';
|
|
import TextArea from '../input/TextArea';
|
|
interface EditableProps {
|
|
prefixCls?: string;
|
|
value?: string;
|
|
['aria-label']?: string;
|
|
onSave: (value: string) => void;
|
|
onCancel: () => void;
|
|
className?: string;
|
|
style?: React.CSSProperties;
|
|
direction?: 'ltr' | 'rtl';
|
|
}
|
|
interface EditableState {
|
|
current: string;
|
|
prevValue?: string;
|
|
}
|
|
declare class Editable extends React.Component<EditableProps, EditableState> {
|
|
static getDerivedStateFromProps(nextProps: EditableProps, prevState: EditableState): Partial<EditableState>;
|
|
textarea?: TextArea;
|
|
lastKeyCode?: number;
|
|
inComposition?: boolean;
|
|
state: {
|
|
current: string;
|
|
};
|
|
componentDidMount(): void;
|
|
onChange: React.ChangeEventHandler<HTMLTextAreaElement>;
|
|
onCompositionStart: () => void;
|
|
onCompositionEnd: () => void;
|
|
onKeyDown: React.KeyboardEventHandler<HTMLTextAreaElement>;
|
|
onKeyUp: React.KeyboardEventHandler<HTMLTextAreaElement>;
|
|
onBlur: React.FocusEventHandler<HTMLTextAreaElement>;
|
|
confirmChange: () => void;
|
|
setTextarea: (textarea: TextArea) => void;
|
|
render(): JSX.Element;
|
|
}
|
|
export default Editable;
|