From 13562f4e3fd86fa7c1bcea27db0040854bba720d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=80=9A=E7=AA=97=E5=90=AC=E9=9B=A8=E4=B8=BF=E9=86=89?= =?UTF-8?q?=E6=97=A0=E5=BF=83?= <994039348@qq.com> Date: Fri, 21 Mar 2025 14:45:24 +0800 Subject: [PATCH 1/2] Add autoSize property to Sender component Fixes #635 --- For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/ant-design/x/issues/635?shareId=XXXX-XXXX-XXXX-XXXX). --- components/sender/demo/basic.tsx | 1 + components/sender/index.en-US.md | 1 + components/sender/index.tsx | 4 +++- components/sender/index.zh-CN.md | 1 + 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/components/sender/demo/basic.tsx b/components/sender/demo/basic.tsx index 5e798bb9..cf2f639d 100644 --- a/components/sender/demo/basic.tsx +++ b/components/sender/demo/basic.tsx @@ -38,6 +38,7 @@ const Demo: React.FC = () => { setLoading(false); message.error('Cancel sending!'); }} + autoSize={{ minRows: 2, maxRows: 6 }} /> <Sender value="Force as loading" loading readOnly /> <Sender disabled value="Set to disabled" /> diff --git a/components/sender/index.en-US.md b/components/sender/index.en-US.md index 24065c18..ae011f65 100644 --- a/components/sender/index.en-US.md +++ b/components/sender/index.en-US.md @@ -53,6 +53,7 @@ Common props ref:[Common props](/docs/react/common-props) | onChange | Callback when input value changes | (value: string, event?: React.FormEvent<`HTMLTextAreaElement`> \| React.ChangeEvent<`HTMLTextAreaElement`> ) => void | - | - | | onCancel | Callback when click cancel button | () => void | - | - | | onPasteFile | Callback when paste files | (firstFile: File, files: FileList) => void | - | - | +| autoSize | Height auto size feature, can be set to true \| false or an object { minRows: 2, maxRows: 6 } | { maxRows: 8 } | - | ```typescript | pure type SpeechConfig = { diff --git a/components/sender/index.tsx b/components/sender/index.tsx index 6f58f796..80ed10e7 100644 --- a/components/sender/index.tsx +++ b/components/sender/index.tsx @@ -74,6 +74,7 @@ export interface SenderProps allowSpeech?: AllowSpeech; prefix?: React.ReactNode; header?: React.ReactNode; + autoSize?: boolean | { minRows?: number; maxRows?: number }; } export type SenderRef = { @@ -114,6 +115,7 @@ const ForwardSender = React.forwardRef<SenderRef, SenderProps>((props, ref) => { header, onPaste, onPasteFile, + autoSize = { maxRows: 8 }, ...rest } = props; @@ -308,7 +310,7 @@ const ForwardSender = React.forwardRef<SenderRef, SenderProps>((props, ref) => { disabled={disabled} style={{ ...contextConfig.styles.input, ...styles.input }} className={classnames(inputCls, contextConfig.classNames.input, classNames.input)} - autoSize={{ maxRows: 8 }} + autoSize={autoSize} value={innerValue} onChange={(event) => { triggerValueChange( diff --git a/components/sender/index.zh-CN.md b/components/sender/index.zh-CN.md index cd06e435..6404498b 100644 --- a/components/sender/index.zh-CN.md +++ b/components/sender/index.zh-CN.md @@ -54,6 +54,7 @@ coverDark: https://mdn.alipayobjects.com/huamei_iwk9zp/afts/img/A*cOfrS4fVkOMAAA | onChange | 输入框值改变的回调 | (value: string, event?: React.FormEvent<`HTMLTextAreaElement`> \| React.ChangeEvent<`HTMLTextAreaElement`> ) => void | - | - | | onCancel | 点击取消按钮的回调 | () => void | - | - | | onPasteFile | 黏贴文件的回调 | (firstFile: File, files: FileList) => void | - | - | +| autoSize | 自适应内容高度,可设置为 true \| false 或对象:{ minRows: 2, maxRows: 6 } | boolean \| { minRows?: number; maxRows?: number } | { maxRows: 8 } | - | ```typescript | pure type SpeechConfig = { From fe1a79a11e82269835e21a28c4bbd61a949ff46a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=80=9A=E7=AA=97=E5=90=AC=E9=9B=A8=E4=B8=BF=E9=86=89?= =?UTF-8?q?=E6=97=A0=E5=BF=83?= <994039348@qq.com> Date: Sun, 23 Mar 2025 10:22:38 +0800 Subject: [PATCH 2/2] fix docs --- components/sender/index.en-US.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/sender/index.en-US.md b/components/sender/index.en-US.md index ae011f65..4bbb6440 100644 --- a/components/sender/index.en-US.md +++ b/components/sender/index.en-US.md @@ -53,7 +53,7 @@ Common props ref:[Common props](/docs/react/common-props) | onChange | Callback when input value changes | (value: string, event?: React.FormEvent<`HTMLTextAreaElement`> \| React.ChangeEvent<`HTMLTextAreaElement`> ) => void | - | - | | onCancel | Callback when click cancel button | () => void | - | - | | onPasteFile | Callback when paste files | (firstFile: File, files: FileList) => void | - | - | -| autoSize | Height auto size feature, can be set to true \| false or an object { minRows: 2, maxRows: 6 } | { maxRows: 8 } | - | +| autoSize | Height auto size feature, can be set to true \| false or an object { minRows: 2, maxRows: 6 } | boolean \| { minRows?: number; maxRows?: number } | { maxRows: 8 } | - | ```typescript | pure type SpeechConfig = {