繁体   English   中英

我在处理 Flutter 时遇到问题。 请帮我

[英]I have a problem handling Flutter. Please help me

参数类型“对象?” 不能分配给参数类型“字符串”。dartargument_type_not_assignable code斜体

class Category{
  final String name;
  final int numOfCoure;
  final String image;

  Category(this.name, this.numOfCoure, this.image);
}

var categoriesData = [
  {"name":"Lúa", 'course': 17, 'image' :"data\\images\\lua.png"},
  {"name":"Ngô", 'course': 25, 'image' :"data\\images\\ngo.png"},
  {"name":"Rau", 'course': 13, 'image' :"data\\images\\rau.png"},
  {"name":"Hoa", 'course': 17, 'image' :"data\\images\\hoa.png"},
];


List<Category> categories = categoriesData
    .map((item) => Category(item['name'], item['course'], item['image']))
    .toList();

使用命名参数,它将解决您的问题。

class Category{
  final String? name;
  final int? numOfCoure;
  final String? image;

  Category({this.name, this.numOfCoure, this.image});
}

var categoriesData = [
  {"name":"Lúa", 'course': 17, 'image' :"data\\images\\lua.png"},
  {"name":"Ngô", 'course': 25, 'image' :"data\\images\\ngo.png"},
  {"name":"Rau", 'course': 13, 'image' :"data\\images\\rau.png"},
  {"name":"Hoa", 'course': 17, 'image' :"data\\images\\hoa.png"},
];


List<Category> categories = categoriesData
    .map((item) => Category(
        name: item['name'], 
        numOfCoure: item['course'], 
        image: item['image'],
    ))
    .toList();

确保在类别 class 中声明的字段前面添加可空字符,因为您尚未在构造函数中初始化它们。

尝试给它一个类型

class Category{
  final String name;
  final int numOfCoure;
  final String image;

  Category(this.name, this.numOfCoure, this.image);
}

var categoriesData = [
  {"name":"Lúa", 'course': 17, 'image' :"data\\images\\lua.png"},
  {"name":"Ngô", 'course': 25, 'image' :"data\\images\\ngo.png"},
  {"name":"Rau", 'course': 13, 'image' :"data\\images\\rau.png"},
  {"name":"Hoa", 'course': 17, 'image' :"data\\images\\hoa.png"},
];


List<Category> categories = categoriesData
    .map((item) => Category(item['name'] as String, item['course'] as int, item['image'] as String))
    .toList();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM