[英]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.