Flutter center()小部件所需的参数错误

时间:2019-01-09 12:29:31

标签: flutter

在尝试使用Center()小部件时,VSCode遇到错误

  

预计需要1个自变量,但找到0个。

这包括所有flutter项目,包括默认的“ hello world!”。项目。

Flutter版本信息:

PS D:\Flutter\Projects\test02> flutter --version
Flutter 1.0.0 • channel beta • https://github.com/flutter/flutter.git
Framework • revision 5391447fae (6 weeks ago) • 2018-11-29 19:41:26 -0800
Engine • revision 7375a0f414
Tools • Dart 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

我搜索了这个错误,很多人都遇到了相同的错误,但是使用了不同的小部件(卡片,MaterialApp等),而他们的解决方案都不适合我。

我的尝试之一是添加null值,它消除了错误,但是在编译过程中出现了类似的错误。

class MyHomePage extends StatelessWidget{
  @override
  Widget build(BuildContext context) {

    return Scaffold(
      backgroundColor: Colors.white24,
      body: Center(null,
        child: ListView(
          shrinkWrap: true,
          padding: EdgeInsets.only(left: 24.0, right: 24.0),
          children: <Widget>[
            Text("data"),
            Text("data"),
          ],
        ),
      )
    );
  }
}

编辑:

事实证明,我错误地修改了basic.dart文件,并向中心类构造函数添加了另一个参数。

我在尝试将频道更改为稳定频道时发现了此问题,但出现一个错误,告诉我我尚未提交更改。通过从构造函数中删除多余的参数,可以解决此问题。

1 个答案:

答案 0 :(得分:0)

在Center构造函数上,第一个参数是Key,并且不能为null。只需删除override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { if indexPath.row == 0 { counter = 0 self.performSegue(withIdentifier: "Day1", sender: self) } else if indexPath.row == 1 { counter = 1 self.performSegue(withIdentifier: "Day2", sender: self) } } 即可。 https://docs.flutter.io/flutter/widgets/Center-class.html