Получить данные из TextFormField из другого виджета на главную - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть 3 виджета друг в друге. TextFormField - последний виджет, и я хочу получить значение, введенное в форму, вплоть до main.dart, и я не могу придумать, как это сделать.

Может кто-нибудь помочь Я пожалуйста ? Снимки экрана прилагаются для справки.

Я совершенно новичок в этом, так что извините, если я делаю что-то глупое.

 return Stack( // This is Main.dart
      fit: StackFit.expand,
         children: <Widget>[
             Positioned(
             top: 0.01 * widgetHeight,
             width: 0.99 * widgetWidth,
             left: 0.00 * widgetWidth,
             child: MySigninTextbox(),
   ),

 child: Container( // This is SigninTextBox.dart
                    child: TextBoxLogin(
                        icon: Icon(Icons.person),
                        hintText: "Email",
                      )
                   )

child: TextFormField( //This is TextBoxLogin.dart
            onChanged: (val) {
              value = val;
              print(val);
            },
          )

IMAGE 1 Image 2 Image 3

1 Ответ

0 голосов
/ 13 апреля 2020

Вам нужно будет передать аргументы в класс «MySigninTextbox ()», поэтому убедитесь, что вы установили аргументы для «MySigninTextbox ()», где вы говорите, что находится в главном, а затем просто сделайте это:

String forLoginVal = '';    

 return Stack( // This is Main.dart
          fit: StackFit.expand,
             children: <Widget>[
                 Positioned(
                 top: 0.01 * widgetHeight,
                 width: 0.99 * widgetWidth,
                 left: 0.00 * widgetWidth,
                 child: MySigninTextbox(forLoginVal: forLoginVal),
       ),

     child: Container( // This is SigninTextBox.dart
                        child: TextBoxLogin(
                            icon: Icon(Icons.person),
                            hintText: "Email",
                          )
                       )

    child: TextFormField( //This is TextBoxLogin.dart
                onChanged: (val) {
                  setState(() => forLoginVal = val)
                  print(val);
                },
              )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...