Flutter 如何解决;Iconda';不是类型为';小部件'&引用;?

Flutter 如何解决;Iconda';不是类型为';小部件'&引用;?,flutter,flutter-layout,Flutter,Flutter Layout,我有一个设置门如下,没有任何问题 SettingsSection( title: 'System', tiles: [ SettingsTile( title: 'Reset', leading: Icon(Icons.clear_all_sharp), trailing: Icon(Icons.keyboard_arrow_right), onTap: () { Navigator.of(context).push

我有一个
设置门
如下,没有任何问题

SettingsSection(
  title: 'System',
  tiles: [
    SettingsTile(
      title: 'Reset',
      leading: Icon(Icons.clear_all_sharp),
      trailing: Icon(Icons.keyboard_arrow_right),
      onTap: () {
        Navigator.of(context).push(MaterialPageRoute(builder: (BuildContext context) => LoginPage()));
      },
    ),
但如果我将其更改为如下代码:

SettingsSection(
  title: 'System',
  tiles: [
    _optionPush('Reset', Icons.clear_all_rounded, Icon(Icons.keyboard_arrow_right), LoginPage, context),

Widget _optionPush(title, leading, trailing, func, context) {
  return SettingsTile(
    title: title,
    leading: leading,
    trailing: trailing,
    onTap: () {
      Navigator.of(context).push(
        MaterialPageRoute(
          builder: (BuildContext context) => func(),
        ),
      );
    },
  );
}
我收到错误
类型“IconData”不是类型“Widget”的子类型
,下一步该怎么办?

您忘记将Icon()小部件包装到图标数据。请看下面

SettingsSection(
  title: 'System',
  tiles: [
    _optionPush('Reset', Icon(Icons.clear_all_rounded, Icon(Icons.keyboard_arrow_right), LoginPage, context),

您忘了用
Icon()
小部件包装iconData

SettingsSection(
  title: 'System',
  tiles: [
    _optionPush('Reset', Icons.clear_all_rounded, Icon(Icons.keyboard_arrow_right), LoginPage, context),

Widget _optionPush(title, leading, trailing, func, context) {
  return SettingsTile(
    title: title,
    leading: Icon(leading),
    trailing: Icon(trailing),
    onTap: () {
      Navigator.of(context).push(
        MaterialPageRoute(
          builder: (BuildContext context) => func(),
        ),
      );
    },
  );
}

您的
平铺:
参数是否缺少结束
]
?我找到了它,前导应该是
前导:图标(前导)
!你可以回答我。