How do I break out "myEditMyProfileController.initFullName" and "myEditMyProfileController.tempFullName" to Method argument the controllers is GetxController and initFullName/tempFullName is String...? (I use GetX + Flutter + Dart)
Container buildEditProfileField(String myLabel, TextEditingController myTextEditingController )
{
return Container(
child: Padding(
padding: const EdgeInsets.only(bottom: 15),
child: GetBuilder<EditMyProfileController>(
init: EditMyProfileController(),
builder: (value) => TextFormField(
controller: myTextEditingController,
decoration: InputDecoration(
labelText: myLabel,
border: OutlineInputBorder(),
suffixIcon: myEditMyProfileController.initFullName != myEditMyProfileController.tempFullName ? Icon(Icons.update, color: Colors.teal) : null,
),
),
),
),
);
}
Managed to solve the problem...
GetBuilder needs to enclose the method call to be updated correctly.
GetBuilder<EditMyProfileController>(
init: controller,
builder: (_) {
return ListView(
scrollDirection: Axis.vertical,
shrinkWrap: true,
children: [
buildEditProfileField("Full name", controller.myFullNameController, controller.initFullName, controller.tempFullName),
],
);
}
),
TextFormField buildEditProfileField(String myLabel, TextEditingController myTextEditingController, String init, String temp)
{
return TextFormField(
controller: myTextEditingController,
decoration: InputDecoration(
labelText: myLabel,
border: OutlineInputBorder(),
suffixIcon: init != temp ? Icon(Icons.update, color: Colors.teal) : null,
),
);
}