gpt4 book ai didi

flutter - 使用路由并从子窗口小部件传递值

转载 作者:行者123 更新时间:2023-12-03 03:58:59 25 4
gpt4 key购买 nike

我使用路由在小部件和问题之间导航,如您所见,我有EditPhoto类,它需要id,但在main.dart中没有id。我想提供另一个小部件的ID,无论如何有做吗?

主镖

routes: {
'/': (context) => HomePage(),
'/login': (context) => Login(),
'/edit_photo':(context) => EditPhoto(),
}

摄影课
class EditPhoto {

final String id;

EditPhoto(this.id)

}

最佳答案

这是文档的一部分。
https://flutter.dev/docs/cookbook/navigation/navigate-with-arguments

步骤1:创建一个类以传递参数。在您的情况下,它只是一个id,但是创建了一个类,以便将来可以使用它传递其他一些参数。

class EditPhotoArgs {
final String id;
EditPhotoArgs(this.id);
}

步骤2:在“按钮”上单击,您可以导航到此屏幕,并传递参数。
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) => EditPhoto(),
// Pass the arguments as part of the RouteSettings. The
// ExtractArgumentScreen reads the arguments from these
// settings.
settings: RouteSettings(
arguments: EditPhotoArgs('id'),
),
),
);

步骤3:从EditPhoto屏幕的Args中获取ID
// inside EditPhoto
final EditPhotoArgs args = ModalRoute.of(context).settings.arguments;
print(args.id); // prints the ID passed from the previous screen

关于flutter - 使用路由并从子窗口小部件传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58759653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com