Przeglądaj źródła

fix(textarea): TextAreaProps ts definition bug (#149)

Co-authored-by: 石嘉 <[email protected]>
走鹃 4 lat temu
rodzic
commit
11c07500e6
1 zmienionych plików z 4 dodań i 5 usunięć
  1. 4 5
      packages/semi-ui/input/textarea.tsx

+ 4 - 5
packages/semi-ui/input/textarea.tsx

@@ -23,8 +23,7 @@ type OmitTextareaAttr =
     | 'onKeyUp';
 
 export interface TextAreaProps extends
-    Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, OmitTextareaAttr>,
-    React.RefAttributes<HTMLTextAreaElement> {
+    Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, OmitTextareaAttr> {
     autosize?: boolean;
     placeholder?: string;
     value?: string;
@@ -50,7 +49,7 @@ export interface TextAreaProps extends
     onPressEnter?: (e: React.KeyboardEvent<HTMLTextAreaElement>) => void;
     onResize?: (data: {height: number}) => void;
     getValueLength?: (value: string) => number;
-    forwardRef?: ((instance: any) => void) | React.MutableRefObject<any> | null;
+    forwardRef?: ((instance: HTMLTextAreaElement) => void) | React.MutableRefObject<HTMLTextAreaElement> | null;
 }
 
 export interface TextAreaState {
@@ -240,7 +239,7 @@ class TextArea extends BaseComponent<TextAreaProps, TextAreaState> {
         return counter;
     }
 
-    setRef = (node: React.ReactNode) => {
+    setRef = (node: HTMLTextAreaElement) => {
         (this.libRef as any).current = node;
         const { forwardRef } = this.props;
         if (typeof forwardRef === 'function') {
@@ -326,6 +325,6 @@ class TextArea extends BaseComponent<TextAreaProps, TextAreaState> {
     }
 }
 
-const ForwardTextarea = React.forwardRef((props, ref) => <TextArea {...props} forwardRef={ref} />);
+const ForwardTextarea = React.forwardRef<HTMLTextAreaElement, Omit<TextAreaProps, 'forwardRef'>>((props, ref) => <TextArea {...props} forwardRef={ref} />);
 
 export default ForwardTextarea;