From a30e8a3eeaf61168eebe1d46cb02b2473228e3e2 Mon Sep 17 00:00:00 2001 From: roymondchen Date: Tue, 11 Jun 2024 20:28:12 +0800 Subject: [PATCH] =?UTF-8?q?feat(editor):=20=E6=94=AF=E6=8C=81=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=BA=90=E6=A8=A1=E6=9D=BF=E8=BE=93=E5=85=A5=E5=AE=BD?= =?UTF-8?q?=E9=80=89=E4=B8=AD=E6=96=87=E6=9C=AC=E5=90=8E=E7=BC=96=E8=BE=91?= =?UTF-8?q?=EF=BC=88=E5=9C=A8=E6=9C=89=E6=95=B0=E6=8D=AE=E6=BA=90=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E6=97=B6=E8=BF=98=E6=9C=89=E9=97=AE=E9=A2=98=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/editor/src/fields/DataSourceInput.vue | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/editor/src/fields/DataSourceInput.vue b/packages/editor/src/fields/DataSourceInput.vue index 8ffdc7bf..55b8e23e 100644 --- a/packages/editor/src/fields/DataSourceInput.vue +++ b/packages/editor/src/fields/DataSourceInput.vue @@ -106,9 +106,17 @@ watch( ); const mouseupHandler = async () => { + const selection = globalThis.document.getSelection(); + const anchorOffset = selection?.anchorOffset || 0; + const focusOffset = selection?.focusOffset || 0; + isFocused.value = true; await nextTick(); autocomplete.value?.focus(); + + if (focusOffset && input.value) { + input.value.setSelectionRange(anchorOffset, focusOffset); + } }; const blurHandler = () => {