Flutter移动端Web浏览器中TextField软键盘弹出后立即消失问题排查
移动端Web中Flutter TextField软键盘弹出后立即消失的问题
我开发的Flutter应用基于Flutter 3.3.7稳定版,需适配移动设备与Web浏览器。应用内包含一个绑定了TextEditingController的TextField组件,该组件在移动/平板原生应用、桌面Web浏览器中编辑功能均正常,但在移动端Web浏览器中,点击TextField后软键盘弹出瞬间即消失,且无任何报错信息。
相关组件代码如下:
class NameWidget extends StatefulWidget { const NameWidget({Key? key}) : super(key: key); @override State<NameWidget> createState() => _NameWidgetState(); } class _NameWidgetState extends State<NameWidget> { final TextEditingController _textEditingController = TextEditingController(); @override void initState() { super.initState(); _textEditingController.text = client.name; _textEditingController.addListener(() { String name = _textEditingController.text; if (validate(name)) { client.name = name; } }); } @override Widget build(BuildContext context) { return Container( width: 250, height: 60, alignment: Alignment.center, child: TextField( keyboardType: TextInputType.name, scrollPadding: const EdgeInsets.only(bottom: 40), decoration: const InputDecoration( border: OutlineInputBorder(), labelText: 'Name'), maxLength: 9, controller: _textEditingController, ), ); } @override void dispose() { _textEditingController.dispose(); super.dispose(); } }
更新
将该TextField组件放入极简Web应用(Widget树为MaterialApp->StatefulWidget->Scaffold->Center->NameWidget)时,所有场景下软键盘均正常工作。因此问题应出在完整应用的Widget树中,需排查Scaffold与NameWidget之间的Column等组件是否存在异常。
内容的提问来源于stack exchange,提问作者Going Bananas
相关产品推荐
相关产品推荐

