我正在开发一个包含聊天功能的 Flutter Web 应用程序。
我想包含一个普通的输入功能,用户可以在其中输入文本并将其发送到聊天流中。如今,聊天应用程序的一个标准功能是send打开<ENTER>并在 上执行换行符<SHIFT-ENTER>,或者它的一些变体。
目前,我一次只能实现其中一个功能。如果您将TextField's设置keyboardType为TextInputType.multilinethen<ENTER>并<SHIFT-ENTER>始终执行换行,则似乎没有办法覆盖此行为。
如果相反TextField,TextInputType.text您可以捕获<ENTER>和发送,但尝试捕获<SHIFT-ENTER>以添加换行符不起作用。我试过通过onKey处理程序手动抓取按键并插入\n到controller.text,但它似乎TextInputType.text根本不适用于多行,所以它不能很好地发挥作用。
只是想知道是否有其他开发人员遇到过这个问题或提出了任何合适的解决方案。理想情况下,解决方案也适用于 android/ios。对我来说,我决定TextInputType.text暂时放弃多行功能。
谢谢