簡體   English   中英

撲通用戶電子郵件

[英]flutter get user email

我想將Flutter登錄表單用戶ID放入文本框。我使用Firebase進行身份驗證。 我寫了一種獲取用戶電子郵件的方法。

  _getUserEmail(){

    FutureBuilder<FirebaseUser>(
      future: FirebaseAuth.instance.currentUser(),
      builder: (BuildContext context, AsyncSnapshot<FirebaseUser> snapshot) {
        if (snapshot.connectionState == ConnectionState.done) {
          return new Text(snapshot.data.email);
        }
        else {
          return new Text('Loading...');
        }
      },
    );
  }

我想將此用戶電子郵件發送到我的Flutter文本框視圖初始值。 這是我撲朔迷離的文本框。

ListTile(
       leading: Icon(Icons.info),
       title: TextFormField(
        decoration: InputDecoration(
              labelText: 'Enter Your name'
         ),
          initialValue: _getUserEmail(),
           onSaved: (val) => item.name = val,
           validator: (val) => val == "" ? val : null,
         ),
        ),

我想讓我的電子郵件進入ListTile的初始值。 誰能幫我?

也許不是您問題的直接答案。 但是,使用帶有驗證的表單進行異步身份驗證需要對驗證器進行特殊管理,以處理異步結果。 我將一起演示如何管理驗證器的演示。 該演示模擬了異步調用,因此您必須為特定應用實現firebase auth。 如果仍然有問題,可能是有用的參考。

在此處輸入圖片說明

您可以在此處找到源代碼

編輯:我創建了一個示例,展示了如何通過插入進行異步調用的小部件來預加載表單。 在此處輸入圖片說明

我也讓它也可以使用FutureBuilder來工作,但這看起來更干凈。 還有其他方法可以做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM