dart 我得到这个错误“Relevent错误导致小部件是脚手架”后,引入索引堆栈小部件

bq3bfh9z  于 2023-09-28  发布在  其他
关注(0)|答案(1)|浏览(97)

好的,所以我在Flutter上构建了一个钱包应用程序,我想要一个底部导航栏有三个图标,所以我在主屏幕上使用了索引堆栈,并将所有其他页面转换为可变页面中的小部件列表。在介绍了索引堆栈,我得到了这么多的错误一样,从标题
我试了一下,发现(可能是错误的)这个错误可能是因为框架在寻找所需位置时发生冲突,可能不是用MaterialApp小部件 Package 的
这是我代码

import 'package:flutter/material.dart';
import 'package:mytodo/screens/quick_send.dart';

import 'package:mytodo/screens/wallet_screen.dart';

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

  @override
  State<HomeScreen> createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  int _currentPage = 0;
  List<Widget> pages = const [HomeScreen(), QuickSend(), WalletScreen()];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.white,
      body: IndexedStack(
        index: _currentPage,
        children: pages,
      ),
      bottomNavigationBar: BottomNavigationBar(
        onTap: (value) {
          setState(() {
            _currentPage = value;
          });
        },
        currentIndex: _currentPage,
        selectedIconTheme: const IconThemeData(color: Colors.blue),
        unselectedIconTheme: const IconThemeData(color: Colors.green),
        items: const [
          BottomNavigationBarItem(
            label: "Home",
            icon: Icon(
              Icons.home_rounded,
            ),
          ),
          BottomNavigationBarItem(
              icon: Icon(
                Icons.monetization_on_outlined,
              ),
              label: "Payment"),
          BottomNavigationBarItem(
            icon: Icon(Icons.wallet),
            label: "Wallet",
          ),
        ],
      ),
    );
  }
}
u4vypkhs

u4vypkhs1#

问题是在内部使用HomeScreen

List<Widget> pages = const [HomeScreen(), //<- this one

您可以将此小部件替换为主页视图小部件。

List<Widget> pages = const [Text("My Home View"), QuickSend(), WalletScreen()];

相关问题