在较旧的 flutter sdk 版本上,下面的示例可以正常工作,但现在出现错误 The argument type 'Object?' 无法分配给参数类型“List”
FutureBuilder(
        future: fetchEmp(),
        builder: (context, snapshot) {
          return snapshot.hasData
              ? RecommandEmp(emps: snapshot.data)  ---Here is problem!!!
              : Center(child: Image.asset('assets/images/no.png'));
        },
    ),
    class RecommandEmp extends StatefulWidget {
    
      const RecommandEmp({Key? key, required this.emps}) : super(key: key);
    
      final List<Emp> emps;
      @override
      _RecommandEmpState createState() => _RecommandEmpState();
    }
Run Code Online (Sandbox Code Playgroud)
获取Emp
Future<List<Emp>> fetchEmp() async {
  final response = await http.get(Uri.https(myUrl, 'select/emp'));
  if (response.statusCode == 200) {
    List<Emp> emp = (json.decode(utf8.decode(response.bodyBytes))["items"]  as List)
        .map((data) => Emp.fromJson(data))
        .toList();
    return emp;
  } …Run Code Online (Sandbox Code Playgroud) 下面的示例在我的列表视图中加载数据,但某些字符无效,例如。\xc3\x85 \xc3\x84 我正在尝试使用 utf8
\n\nvar jsonData = json.decode(response.body);\n\nvar jsonData = utf8.decode(response.bodyBytes);\nRun Code Online (Sandbox Code Playgroud)\n\n当我使用 utf8 时,结果是正确的,但在 listTile 中加载数据时出现引号并出现错误
\n\n//I/flutter ( 4629): {"items":[{"name":"xy\xc5\xa1\xc4\x87",  //character is OK but get quotation mark\n//I/flutter ( 4629): {items: [{name: xy\xc3\x84\xc3\x84,  //wrong character\n\n\n\nclass Api {\n  static Future<dynamic> _get(String url) async {\n    try {\n      final response = await http.get(url);\n      var jsonData = json.decode(response.body);\nRun Code Online (Sandbox Code Playgroud)\n\n有什么解决办法吗?
\n是否可以更改tileColor,例如。if _userDetails[index].salary < 1000 Colors.red else Color.blue 或者可能从查询返回颜色并设置tileColor: _userDetails[index].color,
title: Text(_userDetails[index].name),
subtitle: Text(_userDetails[index].salary.toString()),
tileColor: Colors.red,
Run Code Online (Sandbox Code Playgroud)