【问题标题】:How to use Flutter same Page navigation with Getx route or material route?如何使用 Flutter 相同的页面导航与 Getx 路线或材料路线?
【发布时间】:2022-11-20 01:34:00
【问题描述】:

(例如,我有一个 Detailpage 与类似的产品具有相同的 Detailpage 信息(嵌套导航到相同)..我们如何在 Getx 导航或材料路线中导航到该页面......以及何时单击后退按钮我们导航到以前的页面该怎么做?) flutter

class DetailPage extends StatefulWidget {   final String redirectScreen;   const DetailPage({super.key, required this.redirectScreen});

  @override   State<DetailPage> createState() => _DetailPageState(); }

class _DetailPageState extends State<DetailPage> {   DetailPageController detailPageController = Get.put(DetailPageController());   late ThemeData themeData;   @override   void initState() {
    super.initState();
    detailPageController.fetchDetailPageScreen(
        redirectScreen: widget.redirectScreen);   }   @override   Widget build(BuildContext context) {
    themeData = Theme.of(context);
    return Scaffold(
      appBar: AppBar(
        backgroundColor: themeData.colorScheme.onSecondary,
        title: Text(
          'Detail Page',
          style: AppTheme.getTextStyle(
            themeData.textTheme.headline1!,
            fontSize: MySize.s25,
            fontWeight: 400,
            color: themeData.colorScheme.primary,
          ),
        ),
      ),
      body: ListView(
        physics: const AlwaysScrollableScrollPhysics(),
        children: [
          HorizontalList(
            padding: EdgeInsets.only(left: MySize.s10!, right: MySize.s10!),
            itemCount: detailPageController.similarProducts.length,
            itemBuilder: ((context, index) {
              HomeProducts model = detailPageController.similarProducts[index];
              return MainProductCard(
                onTap: () {
                  Get.to(
                    DetailPage (
                      redirectScreen: model.redirectApi!,
                    ),
                    popGesture: true,
                    preventDuplicates: false,
                  );
                },
                productOptions: model.productOptions!,
                textfieldKG: model.productOptions!.isEmpty?false :true,
                imagePath: model.image!,
                productName: model.productName!,
                strikePrice: model.strikePrice!,
                sellingPrice: model.sellingPrice!,
                savePercent: model.savePercentage!,
                akshyamPrice: model.akshyamPrice!,
              );
            }),
          ),
        ],
      ),
    );   }; };

``

【问题讨论】:

    标签: flutter dart flutter-getx flutter-navigation


    【解决方案1】:

    也许这就是你所说的。

    = 将“MaterialApp”更改为“GetMaterialApp”。 = 使用。 Get.to(DetailedPage(详情: 详情,))

    但是一段时间后,您可能会专业地使用路线,所以很可能是这样。 https://padymies.medium.com/flutter-getx-route-managment-b47635abd832。希望这可以帮助 ( :

    【讨论】:

    • 代码添加检查它
    【解决方案2】:

    我没有跟上最后一句话,但我假设您想使用 Getx 导航路线:

    如果您想导航到其他屏幕并能够返回到之前的路线,您可以使用:

    Get.to(YourWidgetScreen()),
    

    如果你想导航到其他屏幕以防止用户返回到上一个屏幕,你可以使用:

    Get.off(YourWidgetScreen()),
    

    如果你想阻止用户返回到你应用程序中以前的屏幕(将屏幕设置为路由堆栈中的唯一屏幕),请使用:

    Get.offAll(YourWidgetScreen()),
    

    【讨论】:

    • Get.to(page) 嵌套在同一页上
    • 我帮不了你,但请澄清你的问题
    猜你喜欢
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    • 2022-11-04
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多