这是我在颤振导航器中演示参数的基本代码
单击add时,我没有传递参数
添加或编辑时,我想浏览同一页
一些人建议在添加…时传递论点,但这不是解决方案
我不想在添加时传递任何参数
这是基本代码
class ProductPage extends StatelessWidget {
static const routname='productpage';
@override
Widget build(BuildContext context) {
final arg=ModalRoute.of(context)!.settings.arguments as String;
return Scaffold(
appBar: AppBar(title: Text('Product management sCreen'),),
body: Text(arg!=null?'Edit Mode':'Add Mode'),
);
}
}
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('HomeScreen'),),
body: Center(child: Padding(
padding: const EdgeInsets.all(20.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
TextButton(onPressed: (){
Navigator.of(context).pushNamed(ProductPage.routname);
}, child: Text('Add Product')),
TextButton(onPressed: (){
Navigator.of(context).pushNamed(ProductPage.routname,arguments: '1');
}, child: Text('Edit Product')),
],),
),),
);
}
显示错误
“null不是String类型的子类型”