Browse Source

fix(chat):修复消息发送后界面不更新的问题

- 在消息发送成功后调用update()方法强制刷新界面
- 添加点击消息区域收起键盘的功能- 调整消息列表构建逻辑,优化用户体验
ios
Jolie 4 months ago
parent
commit
9f769db64e
2 changed files with 9 additions and 1 deletions
  1. 1
      lib/controller/message/chat_controller.dart
  2. 9
      lib/pages/message/chat_page.dart

1
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;

9
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(

Loading…
Cancel
Save