From efcd4bbb38b5bf53a26f0a8834f0cbd9fa26f5e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E5=A6=82=E6=91=B8=E9=B1=BC=E5=8E=BB?= <1780903673@qq.com> Date: Tue, 10 Sep 2024 13:21:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E2=9C=A8=20Input=E3=80=81Textarea?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0ignoreCompositionEvent=E5=B1=9E=E6=80=A7=20(#?= =?UTF-8?q?592)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes: #574 --- docs/component/input.md | 2 +- docs/component/textarea.md | 1 + .../wot-design-uni/components/wd-input/types.ts | 10 +++++++--- .../wot-design-uni/components/wd-input/wd-input.vue | 1 + .../wot-design-uni/components/wd-textarea/types.ts | 10 +++++++--- .../components/wd-textarea/wd-textarea.vue | 1 + 6 files changed, 18 insertions(+), 7 deletions(-) diff --git a/docs/component/input.md b/docs/component/input.md index 6afd12b2..d6cf43dd 100644 --- a/docs/component/input.md +++ b/docs/component/input.md @@ -172,7 +172,7 @@ function handleChange(event) { | rules | 表单验证规则,结合`wd-form`组件使用 | `FormItemRule []` | - | `[]` | - | | clearTrigger | 显示清除图标的时机,always 表示输入框不为空时展示,focus 表示输入框聚焦且不为空时展示 | `InputClearTrigger` | `focus` / `always` | `always` | 1.3.7 | | focusWhenClear | 是否在点击清除按钮时聚焦输入框 | boolean | - | true | 1.3.7 | - +| ignoreCompositionEvent | 是否忽略组件内对文本合成系统事件的处理。为 false 时将触发 compositionstart、compositionend、compositionupdate 事件,且在文本合成期间会触发 input 事件。 | boolean | - | true | $LOWEST_VERSION$| ### FormItemRule 数据结构 diff --git a/docs/component/textarea.md b/docs/component/textarea.md index 6fc78148..208bb4ae 100644 --- a/docs/component/textarea.md +++ b/docs/component/textarea.md @@ -162,6 +162,7 @@ const value = ref('') | rules | 表单验证规则 | `FormItemRule []` | - | `[]` | - | | clearTrigger | 显示清除图标的时机,always 表示输入框不为空时展示,focus 表示输入框聚焦且不为空时展示 | `InputClearTrigger` | `focus` / `always` | `always` | 1.3.7 | | focusWhenClear | 是否在点击清除按钮时聚焦输入框 | boolean | - | true | 1.3.7 | +| ignoreCompositionEvent | 是否忽略组件内对文本合成系统事件的处理。为 false 时将触发 compositionstart、compositionend、compositionupdate 事件,且在文本合成期间会触发 input 事件。 | boolean | - | true | $LOWEST_VERSION$| ### FormItemRule 数据结构 diff --git a/src/uni_modules/wot-design-uni/components/wd-input/types.ts b/src/uni_modules/wot-design-uni/components/wd-input/types.ts index 2c731092..6bf8ec2f 100644 --- a/src/uni_modules/wot-design-uni/components/wd-input/types.ts +++ b/src/uni_modules/wot-design-uni/components/wd-input/types.ts @@ -162,14 +162,18 @@ export const inputProps = { * 显示清除图标的时机,always 表示输入框不为空时展示,focus 表示输入框聚焦且不为空时展示 * 类型: "focus" | "always" * 默认值: "always" - * 最低版本: $LOWEST_VERSION$ */ clearTrigger: makeStringProp('always'), /** * 是否在点击清除按钮时聚焦输入框 * 类型: boolean * 默认值: true - * 最低版本: $LOWEST_VERSION$ */ - focusWhenClear: makeBooleanProp(true) + focusWhenClear: makeBooleanProp(true), + /** + * 是否忽略组件内对文本合成系统事件的处理。为 false 时将触发 compositionstart、compositionend、compositionupdate 事件,且在文本合成期间会触发 input 事件 + * 类型: boolean + * 默认值: true + */ + ignoreCompositionEvent: makeBooleanProp(true) } diff --git a/src/uni_modules/wot-design-uni/components/wd-input/wd-input.vue b/src/uni_modules/wot-design-uni/components/wd-input/wd-input.vue index a43b36b3..b9b40ed2 100644 --- a/src/uni_modules/wot-design-uni/components/wd-input/wd-input.vue +++ b/src/uni_modules/wot-design-uni/components/wd-input/wd-input.vue @@ -42,6 +42,7 @@ :hold-keyboard="holdKeyboard" :always-embed="alwaysEmbed" :placeholder-class="inputPlaceholderClass" + :ignoreCompositionEvent="ignoreCompositionEvent" @input="handleInput" @focus="handleFocus" @blur="handleBlur" diff --git a/src/uni_modules/wot-design-uni/components/wd-textarea/types.ts b/src/uni_modules/wot-design-uni/components/wd-textarea/types.ts index 27f0a5b3..ce65ea22 100644 --- a/src/uni_modules/wot-design-uni/components/wd-textarea/types.ts +++ b/src/uni_modules/wot-design-uni/components/wd-textarea/types.ts @@ -275,16 +275,20 @@ export const textareaProps = { * 显示清除图标的时机,always 表示输入框不为空时展示,focus 表示输入框聚焦且不为空时展示 * 类型: "focus" | "always" * 默认值: "always" - * 最低版本: $LOWEST_VERSION$ */ clearTrigger: makeStringProp('always'), /** * 是否在点击清除按钮时聚焦输入框 * 类型: boolean * 默认值: true - * 最低版本: $LOWEST_VERSION$ */ - focusWhenClear: makeBooleanProp(true) + focusWhenClear: makeBooleanProp(true), + /** + * 是否忽略组件内对文本合成系统事件的处理。为 false 时将触发 compositionstart、compositionend、compositionupdate 事件,且在文本合成期间会触发 input 事件 + * 类型: boolean + * 默认值: true + */ + ignoreCompositionEvent: makeBooleanProp(true) } export type TextareaProps = ExtractPropTypes diff --git a/src/uni_modules/wot-design-uni/components/wd-textarea/wd-textarea.vue b/src/uni_modules/wot-design-uni/components/wd-textarea/wd-textarea.vue index a0ee8188..f62585fd 100644 --- a/src/uni_modules/wot-design-uni/components/wd-textarea/wd-textarea.vue +++ b/src/uni_modules/wot-design-uni/components/wd-textarea/wd-textarea.vue @@ -36,6 +36,7 @@ :confirm-type="confirmType" :confirm-hold="confirmHold" :disable-default-padding="disableDefaultPadding" + :ignoreCompositionEvent="ignoreCompositionEvent" @input="handleInput" @focus="handleFocus" @blur="handleBlur"