什么是"未来"类型不是<dynamic>"流"类型的子类型<dynamic>?



有人能告诉我如何在StreamBuilder中将函数作为流调用吗?尝试时,我收到了此错误,因为类型"Future"不是类型"Stream?"的子类型

我使用流生成器来监听集合中特定字段值的实时更改。请让我知道我在下面的代码中哪里做错了,以及我需要对这个片段进行哪些更改。

这是代码:

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
class Display extends StatefulWidget {
@override
_DisplayState createState() => _DisplayState();
}
class _DisplayState extends State<Display> {
final CollectionReference student_details =
FirebaseFirestore.instance.collection('students');
final CollectionReference tutor_details =
FirebaseFirestore.instance.collection("tutors");
final CollectionReference CollectionAttendanceDetails =
FirebaseFirestore.instance.collection('attendance');
display() async {
var tCT;
var id = await student_details
.doc("m2Hdo5eejKWfIYlD2ZJvjYepWQh2")
.get()
.then((value) {
return value.data()['tutorid'];
});
return id;
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
child: StreamBuilder(
stream: display(),
builder: (_, snapshot) {
if (!snapshot.hasData) return CircularProgressIndicator();
return Container(
child: Text(snapshot.data),
);
}),
));
}
}

Ha-bro实际上display((函数不是一个流。

这将是一个在某一时刻返回值的未来。

但作为一个流u提供了显示((

将其转换为futurebuilder或firebase firestore提供了一个功能,可以监听的实时变化

相关内容

最新更新