From 4501b2ec4bf807e824a02ec36f3ea184c858472d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A0=97=E5=98=89=E7=94=B7?= <574980606@qq.com> Date: Thu, 18 Jul 2024 05:25:23 +0800 Subject: [PATCH 1/3] fix: rm onPressEnter --- src/ResizableTextArea.tsx | 2 +- src/TextArea.tsx | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ResizableTextArea.tsx b/src/ResizableTextArea.tsx index 148348c..80b1725 100644 --- a/src/ResizableTextArea.tsx +++ b/src/ResizableTextArea.tsx @@ -160,7 +160,7 @@ const ResizableTextArea = React.forwardRef( // =============================== Render =============================== const mergedAutoSizeStyle = needAutoSize ? autoSizeStyle : null; - const mergedStyle = { + const mergedStyle: React.CSSProperties = { ...style, ...mergedAutoSizeStyle, }; diff --git a/src/TextArea.tsx b/src/TextArea.tsx index 7e98df8..b2f14e1 100644 --- a/src/TextArea.tsx +++ b/src/TextArea.tsx @@ -37,6 +37,7 @@ const TextArea = React.forwardRef( styles, onResize, onClear, + onPressEnter, readOnly, ...rest }, @@ -151,7 +152,7 @@ const TextArea = React.forwardRef( }; const handleKeyDown = (e: React.KeyboardEvent) => { - const { onPressEnter, onKeyDown } = rest; + const { onKeyDown } = rest; if (e.key === 'Enter' && onPressEnter) { onPressEnter(e); } From 357c3533e0731d7343a89536dad42d179f514014 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A0=97=E5=98=89=E7=94=B7?= <574980606@qq.com> Date: Thu, 18 Jul 2024 11:01:08 +0800 Subject: [PATCH 2/3] fix: fix --- src/TextArea.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/TextArea.tsx b/src/TextArea.tsx index b2f14e1..4ce43b9 100644 --- a/src/TextArea.tsx +++ b/src/TextArea.tsx @@ -39,6 +39,8 @@ const TextArea = React.forwardRef( onClear, onPressEnter, readOnly, + autoSize, + onKeyDown, ...rest }, ref, @@ -152,7 +154,6 @@ const TextArea = React.forwardRef( }; const handleKeyDown = (e: React.KeyboardEvent) => { - const { onKeyDown } = rest; if (e.key === 'Enter' && onPressEnter) { onPressEnter(e); } @@ -209,7 +210,7 @@ const TextArea = React.forwardRef( } }; - const isPureTextArea = !rest.autoSize && !showCount && !allowClear; + const isPureTextArea = !autoSize && !showCount && !allowClear; return ( ( > Date: Thu, 18 Jul 2024 16:42:51 +0800 Subject: [PATCH 3/3] fix: fix --- tests/ResizableTextArea.test.tsx | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 tests/ResizableTextArea.test.tsx diff --git a/tests/ResizableTextArea.test.tsx b/tests/ResizableTextArea.test.tsx new file mode 100644 index 0000000..60b462d --- /dev/null +++ b/tests/ResizableTextArea.test.tsx @@ -0,0 +1,23 @@ +import { render } from '@testing-library/react'; +import React from 'react'; +import type { ResizableTextAreaRef, TextAreaProps } from '../src'; +import { ResizableTextArea } from '../src'; + +const resizableTextAreaProps = () => (global as any).textAreaProps; + +jest.mock('../src/ResizableTextArea', () => { + const ReactReal: typeof React = jest.requireActual('react'); + const Resizable = jest.requireActual('../src/ResizableTextArea'); + const ResizableComponent = Resizable.default; + return ReactReal.forwardRef( + (props, ref) => { + (global as any).textAreaProps = props; + return ; + }, + ); +}); + +it('should have no onPressEnter prop', () => { + render(); + expect(resizableTextAreaProps().onPressEnter).toBeUndefined(); +});