From 80e5bb3f0b7c5fb645e4831aa1fafa54fbb09de9 Mon Sep 17 00:00:00 2001 From: DCloud_LXH <283700113@qq.com> Date: Wed, 15 Dec 2021 15:10:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20input=E3=80=81textarea=20support=20conf?= =?UTF-8?q?irm-hold?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/uni-components/src/components/input/index.tsx | 4 +++- packages/uni-components/src/components/textarea/index.tsx | 2 +- packages/uni-components/src/helpers/useField.ts | 4 ++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/uni-components/src/components/input/index.tsx b/packages/uni-components/src/components/input/index.tsx index 46f540a41a..f3b6a82dd2 100644 --- a/packages/uni-components/src/components/input/index.tsx +++ b/packages/uni-components/src/components/input/index.tsx @@ -116,10 +116,12 @@ export default /*#__PURE__*/ defineBuiltInComponent({ if ((event as KeyboardEvent).key !== 'Enter') { return } + const input = event.target as HTMLInputElement event.stopPropagation() trigger('confirm', event, { - value: (event.target as HTMLInputElement).value, + value: input.value, }) + !props.confirmHold && input.blur() } return () => { let inputNode = diff --git a/packages/uni-components/src/components/textarea/index.tsx b/packages/uni-components/src/components/textarea/index.tsx index e2abcbf081..a7edf0f957 100644 --- a/packages/uni-components/src/components/textarea/index.tsx +++ b/packages/uni-components/src/components/textarea/index.tsx @@ -97,7 +97,7 @@ export default /*#__PURE__*/ defineBuiltInComponent({ if (isDone.value) { confirm(event) const textarea = event.target as HTMLTextAreaElement - textarea.blur() + !props.confirmHold && textarea.blur() } } diff --git a/packages/uni-components/src/helpers/useField.ts b/packages/uni-components/src/helpers/useField.ts index 1d5b218dd3..9f4638a916 100644 --- a/packages/uni-components/src/helpers/useField.ts +++ b/packages/uni-components/src/helpers/useField.ts @@ -132,6 +132,10 @@ export const props = /*#__PURE__*/ extend( type: String, default: 'done', }, + confirmHold: { + type: Boolean, + default: false, + }, }, keyboardProps ) -- GitLab