0

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

4

1 回答 1

1

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

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

于 2020-10-05T19:22:59.513 回答