Flutter NoSuchMethodError:null:';托利斯特';(Flatter Web)MapStream引发了一个异常<;QuerySnapshot
错误: NoSuchMethodError:null上的成员无效:“toList” 来,但当我使用注释的提供程序时,代码可以工作,即final userdetails=provider.of(context.toList()??[]; 然而,如果我使用 final userdetails=Provider.of(context).toList()??[]; 我得到这两个错误,应用程序显示红色屏幕。 1-NoSuchMethodError:null上的成员无效:“toList” 2-由\u MapStream侦听引发异常Flutter NoSuchMethodError:null:';托利斯特';(Flatter Web)MapStream引发了一个异常<;QuerySnapshot,flutter,listview,web,provider,Flutter,Listview,Web,Provider,错误: NoSuchMethodError:null上的成员无效:“toList” 来,但当我使用注释的提供程序时,代码可以工作,即final userdetails=provider.of(context.toList()??[]; 然而,如果我使用 final userdetails=Provider.of(context).toList()??[]; 我得到这两个错误,应用程序显示红色屏幕。 1-NoSuchMethodError:null上的成员无效:“toList” 2-由\u Map
import 'package:traveltogether_admin/Admin_Screens/Admin_ManageUsers_Tile.dart';
import 'package:traveltogether_admin/Models/user.dart';
class ManageUsers extends StatelessWidget {
static const id = 'Admin_manage_users';
@override
Widget build(BuildContext context) {
final userdetails = Provider.of<List<MyUserData>>(context).toList() ?? [];
// final userdetails = Provider.of<List<RequestToJoinData>>(context).toList() ?? [];
final user= userdetails;
return ListView.builder(
// shrinkWrap: true,
// physics: NeverScrollableScrollPhysics(),
// primary: false,
itemCount: userdetails.length,
itemBuilder: (context,index)
{
print(userdetails);
return ManageUserTile(user[index]);
});
}
}
//MyUserData is the model class.
// Rest of the code.
List<MyUserData> _MyUserDataListfromSnapshot(QuerySnapshot snapshot)
{
return snapshot.documents.map((doc) {
return MyUserData(
uid: uid ?? '',
fullname: doc.data['fullname'] ?? '',
CNIC: doc.data['CNIC'] ?? '',
studentID: doc.data['studentID'] ?? '',
department: doc.data['department'] ?? '',
phonenumber: doc.data['phonenumber'] ?? '',
vehicle: doc.data['vehicletype'] ?? '',
VehicleCC: doc.data['vehicleCC'] ?? '',
carModel: doc.data['carModel'] ?? '',
numberplate: doc.data['numberplate'] ?? '',
);
}).toList();
}
Stream<List<MyUserData>> get myUserDataListStream{
return myUserCollection.snapshots().map(_MyUserDataListfromSnapshot);
}
import'包:traveltogether\u admin/admin\u Screens/admin\u ManageUsers\u Tile.dart';
导入“package:traveltogether_admin/Models/user.dart”;
类ManageUsers扩展了无状态小部件{
静态常量id='Admin_manage_users';
@凌驾
小部件构建(构建上下文){
最终用户详细信息=Provider.of(context.toList()??[];
//最终用户详细信息=Provider.of(context.toList()??[];
最终用户=用户详细信息;
返回ListView.builder(
//收缩膜:对,
//物理学:NeverscrollableScroll物理学(),
//主要:错误,
itemCount:userdetails.length,
itemBuilder:(上下文,索引)
{
打印(用户详细信息);
返回ManageUserTile(用户[索引]);
});
}
}
//MyUserData是模型类。
//代码的其余部分。
列表\u MyUserDataListfromSnapshot(QuerySnapshot快照)
{
返回snapshot.documents.map((doc){
返回MyUserData(
uid:uid??“”,
全名:文件数据['fullname']??“,
CNIC:文件数据['CNIC']??“,
studentID:doc.data['studentID']??“,
部门:文件数据[“部门”]??“,
电话号码:文件数据['phonenumber']??“,
车辆:文件数据['vehicletype']??“,
VehicleC:文件数据['VehicleC']??“,
carModel:doc.data['carModel']??“,
numberplate:文档数据['numberplate']??“,
);
}).toList();
}
流获取myUserDataListStream{
返回myUserCollection.snapshots().map(\u MyUserDataListfromSnapshot);
}
您需要稍微改变一下方法
final List<MyUserData> users = Provider.of<List<MyUserData>>(context);
您希望从
MyUserData
获得什么类型的数据?请共享更多代码,很难解释问题的原因。请立即检查。向我展示提供商的代码。根据我在firestore和Flatter的经验回答了这个问题。希望这能解决您的问题:)
ListView.builder(
// shrinkWrap: true,
// physics: NeverScrollableScrollPhysics(),
// primary: false,
itemCount: userdetails?.length ?? 0,
itemBuilder: (context,index){
return ManageUserTile(users[index]);
});