如何在从其他屏幕按下时在 Flutter 的未来方法中传递 String 参数?
How to pass a String parameter in a future method in Flutter on pressed from other screen?
我想通过按下方法将 YouTube 播放列表 ID 传递到 YouTube API 播放器屏幕?
我想这就是您要找的。如果没有,请在下面发表评论。
1。定义你需要传递的参数
首先,定义需要传递给新路由的参数。在此示例中,传递两条数据:屏幕标题和一条消息。
要传递这两条数据,请创建一个 class 来存储此信息。
// You can pass any object to the arguments parameter.
// In this example, create a class that contains a customizable
// title and message.
class ScreenArguments {
final String title;
final String message;
ScreenArguments(this.title, this.message);
}
2。创建一个提取参数的小部件
接下来,创建一个从 ScreenArguments 中提取并显示标题和消息的小部件。要访问 ScreenArguments,请使用 ModalRoute.of() 方法。此方法 returns 带有参数的当前路由。
// A widget that extracts the necessary arguments from the ModalRoute.
class ExtractArgumentsScreen extends StatelessWidget {
static const routeName = '/extractArguments';
@override
Widget build(BuildContext context) {
// Extract the arguments from the current ModalRoute settings and cast
// them as ScreenArguments.
final ScreenArguments args = ModalRoute.of(context).settings.arguments;
return Scaffold(
appBar: AppBar(
title: Text(args.title),
),
body: Center(
child: Text(args.message),
),
);
}
}
我想通过按下方法将 YouTube 播放列表 ID 传递到 YouTube API 播放器屏幕?
我想这就是您要找的。如果没有,请在下面发表评论。
1。定义你需要传递的参数
首先,定义需要传递给新路由的参数。在此示例中,传递两条数据:屏幕标题和一条消息。要传递这两条数据,请创建一个 class 来存储此信息。
// You can pass any object to the arguments parameter.
// In this example, create a class that contains a customizable
// title and message.
class ScreenArguments {
final String title;
final String message;
ScreenArguments(this.title, this.message);
}
2。创建一个提取参数的小部件
接下来,创建一个从 ScreenArguments 中提取并显示标题和消息的小部件。要访问 ScreenArguments,请使用 ModalRoute.of() 方法。此方法 returns 带有参数的当前路由。// A widget that extracts the necessary arguments from the ModalRoute.
class ExtractArgumentsScreen extends StatelessWidget {
static const routeName = '/extractArguments';
@override
Widget build(BuildContext context) {
// Extract the arguments from the current ModalRoute settings and cast
// them as ScreenArguments.
final ScreenArguments args = ModalRoute.of(context).settings.arguments;
return Scaffold(
appBar: AppBar(
title: Text(args.title),
),
body: Center(
child: Text(args.message),
),
);
}
}