如何 return 到上一页

how to return to previous page

在应用栏上,我想使用图标 return 到上一页。但它一直说参数类型 'context' 不能分配给参数类型 'BuildContext'.

AppBar app_bar_parking ({String title = ''}) { 

  return AppBar( 
    backgroundColor: Colors.white, 
    centerTitle: true,
    title: Text('Parking & Pay'), 
    elevation: 0,
    titleTextStyle: TextStyle(color: Colors.black, fontWeight: FontWeight.bold, fontSize: 20),
    leading: GestureDetector(  
      child: IconButton(  
      icon: Icon(Icons.arrow_back_ios_new_outlined, 
      size: 20, 
      color: Colors.lightBlue,),
      onPressed: () { 
        Navigator.pop(context);
       }
    ),
    )
        
  );
}

在函数中传递context

AppBar app_bar_parking ({String title = '',BuildContext context}) { 

  return AppBar( 
    backgroundColor: Colors.white, 
    centerTitle: true,
    title: Text('Parking & Pay'), 
    elevation: 0,
    titleTextStyle: TextStyle(color: Colors.black, fontWeight: FontWeight.bold, fontSize: 20),
    leading: GestureDetector(  
      child: IconButton(  
      icon: Icon(Icons.arrow_back_ios_new_outlined, 
      size: 20, 
      color: Colors.lightBlue,),
      onPressed: () { 
        Navigator.pop(context);
       }
    ),
    )
        
  );
}

现在在build()

里面使用
@override
 Widget build(BuildContext context) {
   return Scaffold(
     appBar: app_bar_parking('',context),
// rest of the code
   );
}

我认为你的库导入有一些冲突,一些常见的冲突库是:

import 'package:path/path.dart'
import 'dart:js';

你可以改成

import 'package:path/path.dart' as Path

因为在您的 class 中您没有 context 声明。

BuildContext context添加到您需要的参数中。

AppBar app_bar_parking(BuildContext context, {String title = ''}) {
  return AppBar(
      backgroundColor: Colors.white,
      centerTitle: true,
      title: Text('Parking & Pay'),
      elevation: 0,
      titleTextStyle:
          TextStyle(color: Colors.black, fontWeight: FontWeight.bold, fontSize: 20),
      leading: GestureDetector(
        child: IconButton(
            icon: Icon(
              Icons.arrow_back_ios_new_outlined,
              size: 20,
              color: Colors.lightBlue,
            ),
            onPressed: () {
              Navigator.pop(context);
            }),
      ));
}

并且当您使用 app_bar_parking 时记得将上下文添加为:

app_bar_parking(context, "MyTitle");

在您的函数参数中添加 BuildContext context。基本上,你必须使用相同的上下文。

app_bar_parking ({String title = '',BuildContext context}) {}