TextEditingController在ios上不起作用,键入时会清除文本。在android上正在工作。我看到其他人也遇到了这个问题,但是当他们将textEditingController放在有状态的小部件中时,他们解决了这个问题。我的问题是我需要在texteditingcontroller中使用默认文本,而默认文本来自提供者类,因此我需要上下文来使其正常工作。
final GameSpecs gameSpecs = Provider.of<GameSpecs>(context);
final mySecondController = gameSpecs.questionIndex != null
? TextEditingController(
text: gameSpecs.questions[gameSpecs.questionIndex])
: TextEditingController();
我应该怎么做才能使其在Ios上工作?
答案 0 :(得分:1)
您不应在无状态小部件中初始化控制器,因为它几乎总是会导致内存泄漏和意外行为。
为此,您应该使用有状态的小部件。有关上下文的问题很容易解决,您可以在initState中获取上下文,然后使用上下文获取提供程序。查看this answer中的示例。