Flutter 如何将参数传递给route?
我试着把争论的困难从第一页转到第二页,但我不明白怎么做: 此参数是一个字符串,表示难度模式easy、normal和hard 第一页: 当用户单击按钮时,调用OnPressedFlutter 如何将参数传递给route?,flutter,Flutter,我试着把争论的困难从第一页转到第二页,但我不明白怎么做: 此参数是一个字符串,表示难度模式easy、normal和hard 第一页: 当用户单击按钮时,调用OnPressed onPressed: () { Navigator.pushNamed(context, '/gamepage', arguments: _difficulty); }, 第二页 此调用接收参数用于显示值 import 'package:flutter/material.dart'; class GamePa
onPressed: () {
Navigator.pushNamed(context, '/gamepage', arguments: _difficulty);
},
第二页
此调用接收参数用于显示值
import 'package:flutter/material.dart';
class GamePage extends StatelessWidget {
final String difficultyMode;
GamePage(this.difficultyMode);
@override
Widget build(BuildContext context) {
final GamePage args = ModalRoute.of(context).settings.arguments;
return Scaffold(
body: new Container(
child: SingleChildScrollView(
child: Text(args.difficultyMode)
)
),
);
}
}
在main.dart中:
I使用onGenerateRoute:\u getRoute
Route _getRoute(RouteSettings settings) {
switch (settings.name){
case '/':
return _buildRoute(settings, new Homepage());
case '/credits':
return _buildRoute(settings, new Credits());
case '/gamepage':
return _buildRoute(settings, new GamePage(diffculty));
default:
return null;
}
}
你可以通过路由设置获得你的论点 您可以通过以下方式访问它:
case '/gamepage':
String difficulty = settings.arguments;
return _buildRoute(settings, new GamePage(difficulty));
希望有帮助