From 9f769db64e88bd10f10fdb02a9606c851b2fc559 Mon Sep 17 00:00:00 2001 From: Jolie <412895109@qq.com> Date: Tue, 11 Nov 2025 16:56:34 +0800 Subject: [PATCH] =?UTF-8?q?fix(chat):=E4=BF=AE=E5=A4=8D=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E5=8F=91=E9=80=81=E5=90=8E=E7=95=8C=E9=9D=A2=E4=B8=8D=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在消息发送成功后调用update()方法强制刷新界面 - 添加点击消息区域收起键盘的功能- 调整消息列表构建逻辑,优化用户体验 --- lib/controller/message/chat_controller.dart | 1 + lib/pages/message/chat_page.dart | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/controller/message/chat_controller.dart b/lib/controller/message/chat_controller.dart index 6aafcc9..98473b4 100644 --- a/lib/controller/message/chat_controller.dart +++ b/lib/controller/message/chat_controller.dart @@ -53,6 +53,7 @@ class ChatController extends GetxController { if (message != null) { // 发送成功后将消息添加到列表开头 messages.insert(0, message); + update(); return true; } return false; diff --git a/lib/pages/message/chat_page.dart b/lib/pages/message/chat_page.dart index d1c89a6..a1749e3 100644 --- a/lib/pages/message/chat_page.dart +++ b/lib/pages/message/chat_page.dart @@ -49,6 +49,12 @@ class ChatPage extends StatelessWidget { Expanded( child: Container( color: Color(0xffF5F5F5), + child: GestureDetector( + onTap: () { + // 点击消息区域收起键盘 + FocusManager.instance.primaryFocus?.unfocus(); + }, + behavior: HitTestBehavior.opaque, child: ListView.builder( reverse: true, padding: EdgeInsets.all(16.w), @@ -56,7 +62,7 @@ class ChatPage extends StatelessWidget { itemBuilder: (context, index) { final message = controller.messages[index]; final isSentByMe = message.direction == MessageDirection.SEND; - // 获取上一条消息(如果存在) + final previousMessage = index > 0 ? controller.messages[index - 1] : null; return MessageItem( @@ -67,6 +73,7 @@ class ChatPage extends StatelessWidget { }, ), ), + ), ), // 使用抽离的聊天输入栏组件 ChatInputBar(