flutter 我应该使用哪个,无状态小部件还是有状态小部件?

8yoxcaq7  于 2023-01-18  发布在  Flutter
关注(0)|答案(2)|浏览(254)

我现在的代码中使用的是StatelessWidget,我在StatelessWidgetbuild方法中有TextEditingController,我想添加dispose方法来处理它,但是dispose方法只有在StatefulWidget中才有,你建议我把StatelessWidget改成StatefulWidget吗?
我的代码:

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    final TextEditingController controller = TextEditingController();

    return Scaffold(
      body: Center(
        child: TextField(controller: controller),
      ),
    );
  }
}

我提到了this question,但它没有回答我的问题,因为它的问题是StatelessWidget是否会自己完成它。
如果您需要更多信息,请随时发表评论。
我应该使用StatelessWidget还是StatefulWidget?我将感谢任何帮助。提前感谢!

igetnqfo

igetnqfo1#

您需要使用StatefulWidget,因为dispose方法包含在StatefulWidget中。StatelessWidget不支持dispose方法。

wb1gzix0

wb1gzix02#

如果将to dispose方法添加到TextField,则代码中使用了StatefulWidget
StatelessWidget不支持dispose方法。请参考this答案
如果您使用Android Studio Editor进行编码,只需将光标移动到StatelessWidget,然后按alt + enter并将其换行StatefulWidget
如果使用VS代码编辑器进行编码,只需将光标移动到StatelessWidget,然后按ctrl + .并将其换行StatefulWidget
有关this问题的更多信息

相关问题