首页 > 解决方案 > Flutter:从A类的TextField中获取值并将其传递给另一个B类

问题描述

我开发了一个应用程序,用户将在其中输入文本字段中的文本。这些文本字段位于 HomeScreen(homescreen.dart) 类下;

            Padding(
            padding: const EdgeInsets.all(8.0),
            child: TextField(
              decoration: InputDecoration(
                border: OutlineInputBorder(

                  borderSide: BorderSide(color: Colors.blue)
                ),
                labelText: 'EMO Sicil No',
                prefixIcon: const Icon(Icons.person, color: Colors.blue,),
                hintText: "EMO Sicil No Giriniz",
              ),
            ),
          ),

我将在这里使用控制器。但我想在 DocUpload.dart 中的 Uploader 类下使用 Emo Sicil No 的值

         class Uploader extends StatefulWidget {
         final File file;

         Uploader({Key key, this.file}) : super(key: key);

         createState() => _UploaderState();
           }

          class _UploaderState extends State<Uploader> {
          final FirebaseStorage _storage =
          FirebaseStorage(storageBucket: 'gs://emo-is0.appspot.com');

             StorageUploadTask _uploadTask;

             _startUpload() async {

              String filePath = 'foyler/${DateTime.now()}.png';

// 我想在这里使用 Emo Sicil No。filePath 的结构将是;

            String filePath = 'emosicilno/foyler/${DateTime.now()}.png';

这个emo sicil no将来自homescreen.dart下的texfield

              StorageUploadTask _uploadTask = 
                         _storage.ref().child(filePath).putFile(widget.file);

我不确定我该如何处理。我需要在 homescreen.dart 中获取文本字段的值并在 docupload.dart 类上传器中使用它

请指教!

标签: firebaseflutterdartfirebase-storagetextfield

解决方案


您需要先为该类创建 setter,然后在以下位置创建该类的实例:

    class _UploaderState extends State<Uploader>{
        ClassName class = ClassName()

要获取文本字段的值,您需要创建一个 TextEditingController :

final myTextController = TextEditingController();

然后将其关联到文本字段,如下所示:

    TextField(
            **controller: myTextController,**
                  decoration: InputDecoration(
                    border: OutlineInputBorder(
    
                      borderSide: BorderSide(color: Colors.blue)
                    ),
                    labelText: 'EMO Sicil No',
                    prefixIcon: const Icon(Icons.person, color: Colors.blue,),
                    hintText: "EMO Sicil No Giriniz",
                  ),
                ),

要获取文本字段的值,只需编写myTextController.text

我可以在主屏幕下获取文本。如何将它传递给 docupload.dart 下的另一个类上传器?


推荐阅读