Browse Source

fix(agent): 优化消息发送时的键盘行为和输入框多行支持

- 在发送消息时自动收回键盘
- 修改输入框配置以支持多行输入和换行
- 启用多行键盘类型和换行操作
weicu
lxm 1 year ago
parent
commit
fdfb5ad954
  1. 2
      lib/modules/agent/controllers/agent_controller.dart
  2. 6
      lib/modules/agent/views/agent_view.dart

2
lib/modules/agent/controllers/agent_controller.dart

@ -502,6 +502,8 @@ class AgentController extends GetxController {
//场景1:用户在文本输入框中输入文本,点击发送按钮,调用sendMessage()方法。
//场景2:当用户选择图片后在文本框输入内容并发送时,调用sendMessage()转发给sendImageMessage()。
Future<void> sendMessage() async {
// 收回键盘
FocusManager.instance.primaryFocus?.unfocus();
// 1. 处理图片+文本的混合输入
if (isImageInputActive.value && selectedImagePath.value != null) {
final text = textController.text.trim();

6
lib/modules/agent/views/agent_view.dart

@ -364,8 +364,12 @@ class AgentView extends StatelessWidget {
return TextField(
controller: controller.textController,
maxLines: isImageActive ? 2 : 1,
maxLines: isImageActive ? 2 : null,
minLines: isImageActive ? 2 : 1,
keyboardType:
TextInputType.multiline, // 启用多行键盘
textInputAction:
TextInputAction.newline, // 支持回车换行
style: TextStyle(
fontSize: 15,
color: isDarkMode

Loading…
Cancel
Save