相关疑难解决方法(0)

Dart中onPressed属性后的空括号是什么意思?

我知道在小部件之后onPressed和之后调用函数的语法onTap。有两个选项,我们可以使用() => function()() { function(); }语法。空括号是什么意思?

dart flutter

6
推荐指数
3
解决办法
3047
查看次数

Flutter/Dart - 调用一个 Future<String> 函数......但只需要返回一个字符串

我有一个异步函数,它调用 Firestore 以获取数据值。我在之前的一篇文章中得到了很多帮助……学到了很多东西……我想重新开始,希望能提出一个更清晰的问题。所以我有以下功能

Future<String> getSetList () async {

DocumentReference set01DocRef = Firestore.instance.collection('sets').document('SET01');

var snapshot = await set01DocRef.get();

songList = snapshot['songs']; //works, get expected text value from FS

return songList;
}
Run Code Online (Sandbox Code Playgroud)

这个函数逻辑有效......我可以将songList var(字符串var)打印()到控制台,我看到来自Firestore的值。当我尝试调用该函数时:

@override
  Widget build(BuildContext context) {

    var setList = getSetList();

    print('In widget:  ' + setList.toString()); //shows as instance of Future<String>

    //List<String> items = setList.split('|');
    List<String> items = ['Red','White','Blue'];

    return new Scaffold(
      appBar: new AppBar(
        title: new Text(widget.title),
      ),
Run Code Online (Sandbox Code Playgroud)

该 setList 变量不是字符串。当我打印它 [print(setList.toString()] 时,它显示为 Future String 的一个实例。

我尝试使用:var setList …

asynchronous future dart flutter google-cloud-firestore

2
推荐指数
1
解决办法
2万
查看次数