Fix HeaderField for initialValue update

This commit is contained in:
Ashita Prasad
2023-10-22 09:51:19 +05:30
parent c4487ea207
commit c7fcdbe01c

View File

@ -23,16 +23,31 @@ class HeaderField extends StatefulWidget {
}
class _HeaderFieldState extends State<HeaderField> {
late TextEditingController controller;
final TextEditingController controller = TextEditingController();
@override
void initState() {
super.initState();
controller = TextEditingController(text: widget.initialValue);
controller.text = widget.initialValue ?? "";
controller.selection =
TextSelection.collapsed(offset: controller.text.length);
}
@override
void dispose() {
controller.dispose();
super.dispose();
}
@override
void didUpdateWidget(HeaderField oldWidget) {
if (oldWidget.initialValue != widget.initialValue) {
controller.text = widget.initialValue ?? "";
controller.selection =
TextSelection.collapsed(offset: controller.text.length);
}
}
@override
Widget build(BuildContext context) {
var colorScheme = widget.colorScheme ?? Theme.of(context).colorScheme;