From 48fce295a60e32acf04dd155d4f774fe3343ea7a Mon Sep 17 00:00:00 2001
From: dexter-cuijian <1109883925@qq.com>
Date: Fri, 6 Jun 2025 11:45:11 +0800
Subject: [PATCH 1/4] feat add prefixNoFocus
---
components/sender/demo/_semantic.tsx | 1 +
components/sender/index.tsx | 7 +++++++
2 files changed, 8 insertions(+)
diff --git a/components/sender/demo/_semantic.tsx b/components/sender/demo/_semantic.tsx
index 45a5f1b18..6a4116d7b 100644
--- a/components/sender/demo/_semantic.tsx
+++ b/components/sender/demo/_semantic.tsx
@@ -49,6 +49,7 @@ const App: React.FC = () => {
>
} />}
+ prefixNoFocus
footer={() => (
Deep thinking can understand the intent behind.
diff --git a/components/sender/index.tsx b/components/sender/index.tsx
index 816c10a42..775049650 100644
--- a/components/sender/index.tsx
+++ b/components/sender/index.tsx
@@ -76,6 +76,7 @@ export interface SenderProps
actions?: React.ReactNode | ActionsRender;
allowSpeech?: AllowSpeech;
prefix?: React.ReactNode;
+ prefixNoFocus?: boolean;
footer?: React.ReactNode | FooterRender;
header?: React.ReactNode;
autoSize?: boolean | { minRows?: number; maxRows?: number };
@@ -124,6 +125,7 @@ const ForwardSender = React.forwardRef((props, ref) => {
disabled,
allowSpeech,
prefix,
+ prefixNoFocus,
footer,
header,
onPaste,
@@ -266,6 +268,11 @@ const ForwardSender = React.forwardRef((props, ref) => {
e.preventDefault();
}
+ if (prefixNoFocus && (e.target as HTMLElement)?.closest(`.${prefixCls}-prefix`)) {
+ e.preventDefault();
+ return;
+ }
+
inputRef.current?.focus();
};
From 0c352b88532d4018fdc42f929bda9e4135175ccb Mon Sep 17 00:00:00 2001
From: dexter-cuijian <1109883925@qq.com>
Date: Fri, 6 Jun 2025 11:48:54 +0800
Subject: [PATCH 2/4] feat: add prefixNoFocus docs
---
components/sender/index.zh-CN.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/components/sender/index.zh-CN.md b/components/sender/index.zh-CN.md
index a4b154412..daff6fde5 100644
--- a/components/sender/index.zh-CN.md
+++ b/components/sender/index.zh-CN.md
@@ -46,6 +46,7 @@ coverDark: https://mdn.alipayobjects.com/huamei_iwk9zp/afts/img/A*cOfrS4fVkOMAAA
| loading | 是否加载中 | boolean | false | - |
| header | 头部面板 | ReactNode | - | - |
| prefix | 前缀内容 | ReactNode | - | - |
+| prefixNoFocus | 是否前缀mousedown触发输入框聚焦 | boolean | false | - |
| footer | 底部内容 | ReactNode \| (info: { components: ActionsComponents }) => ReactNode | - | - |
| readOnly | 是否让输入框只读 | boolean | false | - |
| rootClassName | 根元素样式类 | string | - | - |
From 8dcdeddca6f9537283420aef92680286db375337 Mon Sep 17 00:00:00 2001
From: dexter-cuijian <1109883925@qq.com>
Date: Fri, 6 Jun 2025 11:57:43 +0800
Subject: [PATCH 3/4] docs(prefixNoFocus): update explanation
---
components/sender/index.zh-CN.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/sender/index.zh-CN.md b/components/sender/index.zh-CN.md
index daff6fde5..1561765a5 100644
--- a/components/sender/index.zh-CN.md
+++ b/components/sender/index.zh-CN.md
@@ -46,7 +46,7 @@ coverDark: https://mdn.alipayobjects.com/huamei_iwk9zp/afts/img/A*cOfrS4fVkOMAAA
| loading | 是否加载中 | boolean | false | - |
| header | 头部面板 | ReactNode | - | - |
| prefix | 前缀内容 | ReactNode | - | - |
-| prefixNoFocus | 是否前缀mousedown触发输入框聚焦 | boolean | false | - |
+| prefixNoFocus | 点击前缀区域时是否阻止输入框获得焦点 | boolean | false | - |
| footer | 底部内容 | ReactNode \| (info: { components: ActionsComponents }) => ReactNode | - | - |
| readOnly | 是否让输入框只读 | boolean | false | - |
| rootClassName | 根元素样式类 | string | - | - |
From 2dd8d1c18c85a16cf6f7ff897cee08e9adbe64b6 Mon Sep 17 00:00:00 2001
From: dexter-cuijian <1109883925@qq.com>
Date: Tue, 10 Jun 2025 14:32:16 +0800
Subject: [PATCH 4/4] feat: add onlyInputFocus
---
components/sender/demo/_semantic.tsx | 1 -
components/sender/index.tsx | 6 +++---
components/sender/index.zh-CN.md | 2 +-
3 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/components/sender/demo/_semantic.tsx b/components/sender/demo/_semantic.tsx
index 6a4116d7b..45a5f1b18 100644
--- a/components/sender/demo/_semantic.tsx
+++ b/components/sender/demo/_semantic.tsx
@@ -49,7 +49,6 @@ const App: React.FC = () => {
>
} />}
- prefixNoFocus
footer={() => (
Deep thinking can understand the intent behind.
diff --git a/components/sender/index.tsx b/components/sender/index.tsx
index 775049650..d2b9c0649 100644
--- a/components/sender/index.tsx
+++ b/components/sender/index.tsx
@@ -76,7 +76,7 @@ export interface SenderProps
actions?: React.ReactNode | ActionsRender;
allowSpeech?: AllowSpeech;
prefix?: React.ReactNode;
- prefixNoFocus?: boolean;
+ onlyInputFocus?: boolean;
footer?: React.ReactNode | FooterRender;
header?: React.ReactNode;
autoSize?: boolean | { minRows?: number; maxRows?: number };
@@ -125,7 +125,7 @@ const ForwardSender = React.forwardRef((props, ref) => {
disabled,
allowSpeech,
prefix,
- prefixNoFocus,
+ onlyInputFocus,
footer,
header,
onPaste,
@@ -268,7 +268,7 @@ const ForwardSender = React.forwardRef((props, ref) => {
e.preventDefault();
}
- if (prefixNoFocus && (e.target as HTMLElement)?.closest(`.${prefixCls}-prefix`)) {
+ if (onlyInputFocus && !(e.target as HTMLElement)?.closest(`.${inputCls}`)) {
e.preventDefault();
return;
}
diff --git a/components/sender/index.zh-CN.md b/components/sender/index.zh-CN.md
index 1561765a5..133d6a972 100644
--- a/components/sender/index.zh-CN.md
+++ b/components/sender/index.zh-CN.md
@@ -46,7 +46,7 @@ coverDark: https://mdn.alipayobjects.com/huamei_iwk9zp/afts/img/A*cOfrS4fVkOMAAA
| loading | 是否加载中 | boolean | false | - |
| header | 头部面板 | ReactNode | - | - |
| prefix | 前缀内容 | ReactNode | - | - |
-| prefixNoFocus | 点击前缀区域时是否阻止输入框获得焦点 | boolean | false | - |
+| onlyInputFocus | 是否只有点击input的时候会获得聚焦 | boolean | false | - |
| footer | 底部内容 | ReactNode \| (info: { components: ActionsComponents }) => ReactNode | - | - |
| readOnly | 是否让输入框只读 | boolean | false | - |
| rootClassName | 根元素样式类 | string | - | - |