I've a scenario where I have to destroy multiple TextEditingController() at the time of dispose() life-cycle hook is called.
StateFull Class
class PersonalDetailsScreen extends StatefulWidget {
@override
_PersonalDetailsScreenState createState() => _PersonalDetailsScreenState();
}
class _PersonalDetailsScreenState extends State<PersonalDetailsScreen> {
final spouseNameController = TextEditingController();
final fullNameController = TextEditingController();
final dobController = TextEditingController();
final fatcaCountryController = TextEditingController();
final taxIdController = TextEditingController();
final nomineeNameController = TextEditingController();
final nomineeDobController = TextEditingController();
final fatherNameController = TextEditingController();
final motherNameController = TextEditingController();
final grossIncomeController = TextEditingController();
final birthCountryController = TextEditingController();
// ...
// Widget building and other functions in class
// ...
@override
void dispose() {
spouseNameController.dispose();
fullNameController.dispose();
dobController.dispose();
fatcaCountryController.dispose();
taxIdController.dispose();
nomineeNameController.dispose();
nomineeDobController.dispose();
fatherNameController.dispose();
motherNameController.dispose();
grossIncomeController.dispose();
birthCountryController.dispose();
super.dispose();
}
}
Is there a better way to do this? I thought it might be available in the context but couldn't found.
Thanks