【发布时间】:2021-02-05 09:08:46
【问题描述】:
基本上,我想在分区抽屉中显示 info admin。所以我用户StreamBuilder。然后我内联出错了
StreamBuilder<DocumentSnapshot> file:///D:/Android_project/finalyearproject/lib/sidebar/AdminDrawer.dart:26:12
这里是我的 AdminDrawer 类
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import 'package:finalyearproject/screen/login.dart';
import 'package:finalyearproject/service/auth.dart';
class AdminDrawer extends StatefulWidget {
final String uid ;
AdminDrawer({ this.uid });
@override
_AdminDrawerState createState() => _AdminDrawerState();
}
class _AdminDrawerState extends State<AdminDrawer> {
final AuthService _authService = AuthService();
@override
Widget build(BuildContext context) {
return StreamBuilder( **//this line show the error.**
stream: Firestore.instance.collection('Admin').document(widget.uid).snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return CircularProgressIndicator();
} else {
return Drawer(
child: Column(
children: <Widget>[
Container(
width: double.infinity,
padding: EdgeInsets.only(top: 40),
color: Colors.redAccent,
child: Center(
child: Column(
children: <Widget>[
Container(
padding: EdgeInsets.only(top: 40),
width: 100,
height: 100,
),
(snapshot.data['name']),
Text(snapshot.data['email']),
],
),
),
),
SizedBox(height: 5.0),
ListTile(
leading: Icon(Icons.person_pin),
title: Text('Profile Admin'),
onTap: () async {
**// this area I will use the nagivator push data of info admin for updating profile. This part I will pass the data to other screen//**
},
),
SizedBox(height: 5.0),
ListTile(
leading: Icon(Icons.arrow_back),
title: Text('Logout'),
onTap: () async {
await _authService.signOut();
Navigator.push(context,
MaterialPageRoute(
builder: (context) => LoginScreen()));
}
),
],
),
);
}
}
);
}
}
所以我需要有人帮我解决这个问题。有什么我错过的吗?
【问题讨论】:
标签: flutter widget stream-builder