如何更改 randered 小部件

How can I change the randered widget

提问人:Hyrex 提问时间:11/8/2023 更新时间:11/8/2023 访问量:37

问:

您好,我想在单击时更改我的 randered 小部件,但我不能这样做

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return SizedBox(
      child: MaterialApp(
        debugShowCheckedModeBanner: false,
        home: Scaffold(
          appBar: AppBar(
            leading: BackButton(
              onPressed: () {
                setState(() {
                  FONCİON
                });
              },
            ),
            centerTitle: true,
            title: Text('demo'),
            backgroundColor: const Color.fromARGB(255, 77, 222, 255),
          ),
        ),
      ),
    );
  }
}

class secondPage extends StatelessWidget {
  const secondPage({super.key});

  @override
  Widget build(BuildContext context) {
    return Container();
  }
}

我想在单击时将呈现的小部件更改为第二页,我该怎么做

我想在单击时更改渲染的小部件

Flutter 飞镖 小部件

评论

1赞 k.s poyraz 11/8/2023
您应该查看“flutter 中的路由”。

答:

0赞 LacticWhale 11/8/2023 #1

看看 https://docs.flutter.dev/ui/navigation

在您的示例中,您可以这样做(我已更改为):secondPageSecondPage

  leading: BackButton(
    onPressed: () {
      Navigator.of(context).push(MaterialPageRoute(builder: (context) => const SecondPage()));
    },
  ),

此外,使用路由器包(如 auto_routego_routerroutemaster 等)可能会有所帮助。