颤振TexteditingController在iOS上不起作用

时间:2020-10-05 19:09:19

标签: flutter

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上工作?

1 个答案:

答案 0 :(得分:1)

您不应在无状态小部件中初始化控制器,因为它几乎总是会导致内存泄漏和意外行为。

为此,您应该使用有状态的小部件。有关上下文的问题很容易解决,您可以在initState中获取上下文,然后使用上下文获取提供程序。查看this answer中的示例。