diff --git a/frameworks/core/components_ng/pattern/rich_editor/rich_editor_select_overlay.cpp b/frameworks/core/components_ng/pattern/rich_editor/rich_editor_select_overlay.cpp index 6f4735544648769be22b5a67b5cf28caf0a19824..636fb31ec9581215b39c989aa0587fd588122f17 100644 --- a/frameworks/core/components_ng/pattern/rich_editor/rich_editor_select_overlay.cpp +++ b/frameworks/core/components_ng/pattern/rich_editor/rich_editor_select_overlay.cpp @@ -290,6 +290,7 @@ void RichEditorSelectOverlay::OnMenuItemAction(OptionMenuActionId id, OptionMenu if (pattern->GetTextDetectEnable() && !pattern->HasFocus()) { pattern->ResetSelection(); } + break; default: TAG_LOGI(AceLogTag::ACE_TEXT, "Unsupported menu option id %{public}d", id); break; @@ -298,11 +299,16 @@ void RichEditorSelectOverlay::OnMenuItemAction(OptionMenuActionId id, OptionMenu void RichEditorSelectOverlay::OnCloseOverlay(OptionMenuType menuType, CloseReason reason) { + TAG_LOGD(AceLogTag::ACE_TEXT, "menuType=%{public}d, closeReason=%{public}d", menuType, reason); auto pattern = GetPattern(); CHECK_NULL_VOID(pattern); if (pattern->GetTextDetectEnable() && !pattern->HasFocus()) { pattern->ResetSelection(); } + if (reason == CloseReason::CLOSE_REASON_BACK_PRESSED) { + pattern->ResetSelection(); + pattern->StartTwinkling(); + } } std::optional RichEditorSelectOverlay::GetSelectOverlayInfo()