Flutter NoSuchMethodError:null:';托利斯特';(Flatter Web)MapStream引发了一个异常<;QuerySnapshot

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

错误: NoSuchMethodError:null上的成员无效:“toList” 来,但当我使用注释的提供程序时,代码可以工作,即final userdetails=provider.of(context.toList()??[];

然而,如果我使用 final userdetails=Provider.of(context).toList()??[]; 我得到这两个错误,应用程序显示红色屏幕。 1-NoSuchMethodError:null上的成员无效:“toList” 2-由\u MapStream侦听引发异常

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]);
    });