获取错误:参数类型“对象?”不能分配给参数类型 'Map<dynamic, dynamic>'

时间:2021-07-21 10:21:24

标签: flutter

检查用户:

     FutureBuilder(
      future: _userFuture,
       builder: (_,userData){
        switch(userData.connectionState){
          case ConnectionState.none:
          case ConnectionState.waiting:
          case ConnectionState.active:
          case ConnectionState.done:
            if(!newUser.containsKey('Email')){
              newUser=Map<String,String>.from(userData.data);
            }
            return Column(children:<Widget> [
            Text(
              newUser['Email'],
            ),
            Text(
              newUser!['Password'],
            ),
            ]);
         }
        return Container();
      },
    );

2 个答案:

答案 0 :(得分:0)

您的未格式化代码很难说,但看起来 userData.data 被视为 Object? 类型。如果实际上是地图,可以通过FutureBuilder<T>泛型类型指定:

FutureBuilder<Map<String, String>>(
  future: userFuture,
  builder: (_, userData) {
    // ... Your builder
  },
);

答案 1 :(得分:0)

尝试将您的数据显式转换为 Map。

改变这个

newUser=Map<String,String>.from(userData.data)

到这里

Object data = userData.data;
newUser =  data as Map