【问题标题】:The argument type 'Map<dynamic, dynamic>' can't be assigned to the parameter type 'Map<String, dynamic>'参数类型 'Map<dynamic, dynamic>' 不能分配给参数类型 'Map<String, dynamic>'
【发布时间】:2021-08-29 06:05:39
【问题描述】:

我正在使用带有 sqlite 的颤振。 'maps[i]' 中发生错误

Future<List<Employee>> getEmployee() async {
    var dbClient = await db;
    List<Map> maps = await dbClient!.query('employee', columns: ['id', 'name','phone']);
    List<Employee> employees = [];
    if (maps.length > 0) {
      for (int i = 0; i < maps.length; i++) {
        employees.add(Employee.fromMap(maps[i]));
      }
    }
    return employees;
  }

【问题讨论】:

    标签: flutter sqlite


    【解决方案1】:

    这是因为 Employee.fromMap 期待 Map&lt;String, dynamic&gt; 改变你的功能如下。

       Future<List<Employee>> getEmployee() async {
            var dbClient = await db;
            List<Map> maps = await dbClient!.query('employee', columns: ['id', 'name','phone']);
            List<Employee> employees = [];
            if (maps.length > 0) {
              for (int i = 0; i < maps.length; i++) {
                employees.add(Employee.fromMap(Map<String, dynamic>.from(maps[i])));
              }
            }
            return employees;
          }
    

    【讨论】:

      猜你喜欢
      • 2021-10-02
      • 2020-12-15
      • 2021-03-23
      • 2020-12-27
      • 1970-01-01
      • 2021-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多