我正在阅读用户提供的输入(在这种情况下是一个邮政编码)TextField,我需要检查数据库的有效性.但是,我需要在提交按钮(RaisedButton在本例中为一个)onPressed: () {}lambda函数内部进行异步数据库查询.在大多数编程语言中,这是一项相当简单和简单的任务.然而,我在Flutter中遇到的问题是,Future从异步数据库查询FutureBuilder返回的Widget对象只能由反过来只返回对象的对象使用.我只需要一个String返回,然后我可以使用它来通过一个MaterialPageRoute对象传递给一个新的路由,或者在不改变路由的情况下向用户显示错误.Flutter有没有办法做到这一点?返回Widget对我来说没用,因为我不想创建一个新的Widget来显示.我正在使用Flutter 0.3.2和Dart 2.0.0
作为我需要调用数据库查询的简化示例:
@override
Widget 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) …Run Code Online (Sandbox Code Playgroud)