选择 TextField 或 TextFormField 时,Flutter 应用程序冻结

xde*_*vco 18 textfield flutter

我有一个 Flutter 应用程序,它在所有方面都正常运行,除非我选择了 TextField(或 TextFormField)。当我选择 TextField 时,光标在 TextField 中闪烁,但我无法键入任何内容,并且 AppBar 中的所有其他按钮(如 floatingActionButton 和后退按钮)停止工作。从本质上讲,该应用程序似乎已冻结,但我没​​有收到任何错误消息。

在包含 FocusNodes 和 TextEditingControllers 的两个不同页面中多次尝试解决该问题后,我通过直接从 Flutter 的网站合并一个带有代码的新页面返回到第一个,但是这个准系统代码中的 TextField 仍然锁定了应用程序。

import 'package:flutter/material.dart';

class EventDetailForm extends StatefulWidget {
  static const String routeName = "/events/event-detail-form";
  @override
  _EventDetailFormState createState() => _EventDetailFormState();
}

class _EventDetailFormState extends State<EventDetailForm> {
  final myController = TextEditingController();
  @override
  void dispose() {
    myController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Event Detail')),
      body: Padding(
          padding: const EdgeInsets.all(16),
          child: TextField(
            controller: myController,
          )),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          return showDialog(
              context: context,
              builder: (context) {
                return AlertDialog(
                  content: Text(myController.text),
                );
              });
        },
        child: Icon(Icons.text_fields),
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我没有收到任何错误消息。光标在 TextField 中闪烁,其他一切都失去功能,我必须退出并重新启动。我不确定我还应该考虑什么。有没有人对可能导致这种情况的原因有任何想法?

Sai*_*ili 11

Simulator -> Device -> Erase All Content And Settings 为我工作。


Kev*_*vin 8

当我将 Xcode 升级到 ios 13.1 时遇到了同样的问题。我切换到不同的模拟器,问题就消失了。


awa*_*aik 1

我遇到了同样的错误,通过切换到 Flutter 的 beta 通道解决了。在你的终端使用

flutter channel beta
flutter upgrade
Run Code Online (Sandbox Code Playgroud)

关于频道,您可以在这里阅读https://github.com/flutter/flutter/wiki/Flutter-build-release-channels