作为我需要调用数据库查询的简化示例:
@overrIDeWidget build(Buildcontext context) { return new Column( mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[ new Container( padding: const EdgeInsets.all(16.0),child: new TextFIEld( keyboardType: TextinputType.number,controller: _controller,decoration: new inputdecoration( hintText: 'Zip Code',),onsubmitted: (string) { return string; },new Raisedbutton( onpressed: () { // use regex to test against user input if (_controller.text != null && _controller.text.isNotEmpty) { RegExp zipCodeRegExp = new RegExp(r"^(\d{5})$"); // if the user input valIDates... if (zipCodeRegExp.hasMatch(_controller.text)) { zipCode = _controller.text; // need to perform database query here and return a string,not a Widget } else { // an else condition here } } else { // an else condition here } } } ),],);}
也许我不是在跟随Flutter的“口头禅”?我感谢您对此的考虑和意见.
解决方法 FutureBuilder只是一个方便的助手,可以在Future完成时重建Widget树.您可以使用
funcThatReturnsFuture().then((result) { print(result); setState(() { someVal = result; })})
要么
Future funcThatMakesAsyncCall() async { var result = funcThatReturnsFuture(); print(result); setState(() { someVal = result; })}
主要限制是,如果没有Future,则无法将值直接返回给调用者,因为无法从异步执行返回到同步执行.
总结以上是内存溢出为你收集整理的dart – Flutter – 是否可以在不使用FutureBuilder的情况下从Future中提取数据?全部内容,希望文章能够帮你解决dart – Flutter – 是否可以在不使用FutureBuilder的情况下从Future中提取数据?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)