繁体   English   中英

使用未来构建器时未显示圆形进度指示器

[英]Circular progress indicator not showing while using future builder

我是 flutter.i 的菜鸟。我试图在单击按钮时显示从 api 加载数据的循环进度。 我收到来自 api 的响应。 但我没有进入未来建造者的快照公寓......

_onPressed(){
  setState(() {
  _textCCodeValues=myCCodeController.text;
  _textPhoneNumberValues=myPhoneNumberController.text;
  _textPasswordValues=myPasswordController.text;
  log("mobile",name: _textCCodeValues+" "+_textPhoneNumberValues);
  log("Password",name: _textPasswordValues);
  requestMap={
    'ccode':_textCCodeValues,
    'mobile':_textPhoneNumberValues,
    'password':_textPasswordValues,
    'app_Version':"1.1",
  };
  //_isOtpFieldVisible =!_isOtpFieldVisible;
  requestJson=json.encode(requestMap);
  //StringWidget(future: makeLoginRequest(requestJson));

  //makeLoginRequest(requestJson);

});
FutureBuilder(
  future: makeLoginRequest(requestJson),
  builder: (BuildContext context,AsyncSnapshot snapshot){
    _logData(snapshot.connectionState.toString());
    if(snapshot.connectionState == ConnectionState.waiting){
      _logData("in waiting");
      return SpinKitRotatingCircle(
        color: Colors.blue,
        size: 50.0,
      );
    }
    return null;
  },

);

}

我正在使用的未来是

Future<String> makeLoginRequest(String requestJson) async{
 final uri = url;

 final headers = {
'Content-Type': 'application/json',
"Accept": "application/json",
};

var response=await post(
uri,
headers:headers,
body: requestJson,
);
print("${response.body}");
return response.toString();

}

我不知道出了什么问题。 请有人帮助我。

只需尝试更改您的代码,例如,

FutureBuilder(
  future: makeLoginRequest(requestJson),
  builder: (BuildContext context,AsyncSnapshot snapshot){
    if (snapshot.hasData) {
      return Text("Data");
    } else if(snapshot.hasError) {
        return Text("Error");
    } else {
        return SpinKitRotatingCircle(
        color: Colors.blue,
        size: 50.0,
      );
    }
  },
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM