我现在的代码中使用的是StatelessWidget
,我在StatelessWidget
的build
方法中有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
?我将感谢任何帮助。提前感谢!
2条答案
按热度按时间igetnqfo1#
您需要使用
StatefulWidget
,因为dispose
方法包含在StatefulWidget
中。StatelessWidget
不支持dispose方法。wb1gzix02#
如果将to dispose方法添加到
TextField
,则代码中使用了StatefulWidget
StatelessWidget
不支持dispose
方法。请参考this答案如果您使用Android Studio Editor进行编码,只需将光标移动到
StatelessWidget
,然后按alt + enter
并将其换行StatefulWidget
如果使用VS代码编辑器进行编码,只需将光标移动到
StatelessWidget
,然后按ctrl + .
并将其换行StatefulWidget
有关this问题的更多信息