From 0b95476d8f91be897ee6cedc68149d59132c9ced Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Wed, 25 Jun 2025 14:36:18 +0800 Subject: [PATCH] opt pub textfield Signed-off-by: bggRGjQaUbCoE --- .../widgets/text_field/editable_text.dart | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/lib/common/widgets/text_field/editable_text.dart b/lib/common/widgets/text_field/editable_text.dart index 21e045659..913f7dd09 100644 --- a/lib/common/widgets/text_field/editable_text.dart +++ b/lib/common/widgets/text_field/editable_text.dart @@ -3277,12 +3277,15 @@ class EditableTextState extends State _atUserRegex.firstMatch(text.substring(0, offset)); if (match != null) { - updateEditingValue(TextEditingDeltaDeletion( - oldText: e.oldText, - deletedRange: TextRange(start: match.start, end: match.end), - selection: TextSelection.collapsed(offset: match.start), - composing: e.composing, - ).apply(_value)); + userUpdateTextEditingValue( + TextEditingDeltaDeletion( + oldText: e.oldText, + deletedRange: TextRange(start: match.start, end: match.end), + selection: TextSelection.collapsed(offset: match.start), + composing: e.composing, + ).apply(_value), + SelectionChangedCause.keyboard, + ); widget.onDelAtUser?.call(match.group(0)!.trim()); return; } @@ -3290,9 +3293,11 @@ class EditableTextState extends State } } + TextEditingValue value = _value; for (final TextEditingDelta delta in textEditingDeltas) { - updateEditingValue(delta.apply(_value)); + value = delta.apply(value); } + updateEditingValue(value); } @override