问题描述
我想知道如何将我的函数userUid()传递给StreamBuilder {
FirebaseAuth auth = FirebaseAuth.instance;
userUid() async {
final FirebaseUser user = await auth.currentUser;
final uid = user.uid;
return uid;
}
我要传递它的位置,以基于登录的用户UID获取文档。
final tabs = [
final documentId = await userUid();
Center(
child: (Scaffold(
body: StreamBuilder (
stream: FirebaseFirestore.instance.collection('users').document(userUid()).snapshots(),builder: (context,snapshot) {
if (snapshot.data == null) return CircularProgressIndicator();
return Container(
padding: EdgeInsets.all(16),child: ListView.builder(
当我在final documentId = await useruid();
内部传递函数final tabs =[
时
我收到错误消息 error: Expected an identifier. (missing_identifier at lib/pages/home.dart:39)
error: Expected to find ']'. (expected_token at lib/pages/home.dart:39)
idk我可以怎么做才能通过此功能...
与某人知道示例文档,以便我可以研究如何做
完整代码:
final tabs = [
final documentId = await userUid();
Center(
child: (Scaffold(
body: StreamBuilder (
stream: FirebaseFirestore.instance.collection('users').document(userUid()).snapshots(),child: ListView.builder(
itemCount: snapshot.data.documents.length,itemBuilder: (context,index) {
DocumentSnapshot manuais =
snapshot.data.documents[index];
return Card(
color: Colors.grey[250],child: Container(
padding: EdgeInsets.all(10),child: Column(
crossAxisAlignment: CrossAxisAlignment.start,children: <Widget>[
new Image.asset('Images/pdflogo.png',width: 32,),Center(
child: Text(
(manuais.data()['nome'].toString()),maxLines: 1,overflow: TextOverflow.ellipsis,style: TextStyle(fontSize: 16),ButtonBar(
children: <Widget>[
FlatButton(
child: const Text('Compartilhar / Download'),onPressed: () async {
var request = await HttpClient().getUrl(Uri.parse(manuais.data()['documento']));
var response = await request.close();Uint8List bytes = await consolidateHttpClientResponseBytes(response);
await Share.file(
'ESYS AMLOG','Manual.pdf',bytes,'image/jpg');
}),],);
}),);
})))),Center(
child: (Scaffold(
body: StreamBuilder(
stream: FirebaseFirestore.instance.collection('producao').snapshots(),index) {
DocumentSnapshot producao =
snapshot.data.documents[index];
return Card(
color: Colors.grey[250],children: <Widget>[
Center(
child: Image.network(producao.data()['img'].toString(),width: 260,Text(
(producao.data()['data'].toString()),style: TextStyle(fontSize: 22),Text(
(producao.data()['detail'].toString()),ButtonBar(
children: <Widget>[
FlatButton(
child: const Text('DETALHES'),onPressed: () {
ImageViewer.showImageSlider(
images: [
(producao.data()['img']),//List of images' URLs
],);
}),FlatButton(
child: const Text('COMPARTILHAR'),onPressed: () async {
var request = await HttpClient().getUrl(Uri.parse(producao.data()['img']));
var response = await request.close();Uint8List bytes = await consolidateHttpClientResponseBytes(response);
await Share.file(
'ESYS AMLOG','amlog.jpg','image/jpg'
);
}),Center(child: Text('Documentos')),]; //<<<<<<<<<<<<<<< here closes the tab
````
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)