【问题标题】:flutter TexteditingController not working on ios颤动的TexteditingController在ios上不起作用
【发布时间】:2021-01-20 16:21:54
【问题描述】:

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 上运行?

【问题讨论】:

    标签: flutter


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2020-09-22
      • 2021-08-17
      • 1970-01-01
      • 1970-01-01
      • 2021-04-22
      • 2020-10-11
      • 2018-11-17
      • 2014-07-10
      • 2022-11-11
      相关资源
      最近更新 更多