Flutter : 参数类型'Image'不能分配给参数类型'IconData'。

问题描述 投票:2回答:1

我想使用assets中的图片作为图标,然后建立我的列表,但是当我试图将Image.asset作为类添加到IconData作为数据类型的图标变量中,而不是使用Icons作为类时,出现了一些错误。

有什么办法可以解决这个问题吗?

谢谢你。

class Menu {
  const Menu({this.icon, this.title});

  final IconData icon;
  final String title;
}

const List<Menu> menus = const <Menu>[
  const Menu(title: 'menu_icon_1', icon: Image.asset('assets/menu/1-1.png')),
],

错误:参数类型为'Image',不能使用IconData作为数据类型。参数类型 "Image "不能被分配给参数类型 "IconData"。(argument_type_not_assignable at [sinergi] lib\home.dart:12)

flutter dart
1个回答
1
投票

请使用ImageIcon

class Menu {
  const Menu({this.icon, this.title});

  final ImageIcon icon;
  final String title;
}

const List<Menu> menus = const <Menu>[
  const Menu(title: 'menu_icon_1', icon: ImageIcon(AssetImage('assets/menu/1-1.png'))),
];
© www.soinside.com 2019 - 2024. All rights reserved.