Flutter 中每个错误的“预期标识符”和“预期找到‘)’”

河流涟漪

在颤振中使用 for-each 循环时,我的代码中出现“预期的标识符”和“预期找到‘)’”错误,这是循环中的代码

body: ListView(
      for(String item in groceryListNames){
        ListTile(
          title: "$item",    
          onPressed: () {
            Navigator.push(
              context,
              MaterialPageRoute(builder: (context) => GroceryListPage()),
            );
          },
        ),
      },
    ),

基本上,当按下循环中的项目时,它应该从一个名为 GroceryListPage() 的函数打开一个新页面,但循环给了我上面的错误。这是整个功能:

class _ListsPageState extends State<ListsPage>with SingleTickerProviderStateMixin {
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(title: Text("Grocery Lists")),
        drawer: AppDrawer(),
        body: ListView(
          for(String item in groceryListNames){
            ListTile(
              title: "$item",
              
              onPressed: () {
                Navigator.push(
                  context,
                  MaterialPageRoute(builder: (context) => GroceryListPage()),
                );
              },
            ),
          },
        ),
    );
  }

}
问尼勒什

代码中的第一个问题

AppBar控件title属性时需要一个Widgets为什么你提供一个字符串

第二期

为了获取点击事件ListTile,你需要使用 onTap: () {}的方法有没有方法名称onPressed ()ListTile的小部件

试试这个方法

 Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Grocery Lists")
      ),
      drawer: AppDrawer(),
      body: ListView(
        children: groceryListNames
            .map(
              (data) => ListTile(
                title: Text("$data"),
                onTap: () {
                  Navigator.push(
                    context,
                    MaterialPageRoute(builder: (context) => GroceryListPage()),
                  );
                },
              ),
            )
            .toList(),
      ),
    );
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章