#flutter #flutter-getx
Вопрос:
В моем контроллере входа в систему:
class LoginController extends GetxController {
final GlobalKey<FormState> loginFormKey = GlobalKey<FormState>();
late TextEditingController emailController, passwordController;
var isloading = false.obs; <<<<<<<<<<<<
...
и, на мой взгляд, файл:
Container(
color: Colors.blueGrey,
width: double.infinity,
height: 150,
child: Obx(()=>
Center(
child: logincontroller.isloading ? CircularProgressIndicator(): Container(),
),
)
)
однако я продолжаю получать это сообщение:
33:50: Ошибка: Значение типа «RxBool» не может быть присвоено переменной типа «bool».
Ответ №1:
Попробуйте logincontroller.isLoading.value
проверить значение RxBool
Комментарии:
1. спасибо, что решили эту проблему, однако: теперь, когда переменная isloading изменяется на true (при нажатии кнопки входа в систему), индикатор circularprogressindicator не отображается автоматически. он отображается только после того, как я выполню обновление/горячую перезагрузку.
2. в основном виджет не перестраивался. при загрузке значение изменяется с ложного на истинное. дочерний элемент: Obx(()=> Центр( дочерний элемент: logincontroller.isloading.value ? новый ЦиркулярПрогрессИндикатор(): новый контейнер(дочерний: Текст(«привет, это ложь»)), )
3. Как вы меняете значение ?
4. использование кнопки входа в систему для выполнения почтового вызова api. Будущее<void> Контрольный список() асинхронный { загружается = true.obs; //прямо здесь.
5. ты настоящий MVP. это сработало! можете ли вы объяснить мне, почему это так. Даже если стоимость технически изменялась и раньше?