繁体   English   中英

名称“MenuItem”在库 cubit state 和 flutter_admin_scaffold 中定义

[英]The name 'MenuItem' is defined in the libraries cubit state and flutter_admin_scaffold

图片 提示——

[具有可诊断性的抽象类 MenuItem,类 MenuItem] 名称“MenuItem”在库“package:flutter/src/widgets/platform_menu_bar.dart”和“package:flutter_admin_scaffold/src/menu_item.dart”中定义(通过 package:flutter_admin_scaffold/ admin_scaffold.dart)'。 尝试对其中一个导入指令使用“作为前缀”,或者对所有导入指令隐藏名称。dartambiguous_import 'MenuItem' 不是函数。 尝试更正名称以匹配现有函数,或定义名为 'MenuItem'.dartinvocation_of_non_function 的方法或函数

有我用过的包

  1. 肘/肘

  2. 肘/州

  3. flutter_admin_scaffold

错误消息:问题是AppLayout Class 和MenuItem (flutter_admin_scaffold)

请帮我找出问题并帮助我解决问题

   import 'package:date_time_format/date_time_format.dart';
   import 'package:flutter/material.dart';
   import 'package:flutter_admin_scaffold/admin_scaffold.dart';
   import 'package:flutter_bloc/flutter_bloc.dart';
   import 'package:flutter_iconly/flutter_iconly.dart';
   import 'cubit/cubit.dart';
   import 'cubit/states.dart';
   
   class AppLayout extends StatelessWidget {
     @override
     Widget build(BuildContext context) {
       return BlocConsumer<AppCubit, AppStates>(
         listener: (context, state) {},
         builder: (context, state) {
           var cubit = AppCubit.get(context);
           return AdminScaffold(
             backgroundColor: Colors.white,
             appBar: AppBar(
               title: const Text('Electronic App Admin',style: TextStyle(letterSpacing: 1),),
             ),
             sideBar: SideBar(
               items: const [
                 MenuItem(
                   title: 'Dashboard',
                   route: 'DashBoardScreen',
                   icon: Icons.dashboard,
                 ),
                 MenuItem(
                   title: 'Categories',
                   icon: IconlyLight.category,
                   children: [
                     MenuItem(
                       title: 'Category',
                       route: 'CategoryScreen',
                     ),
                     MenuItem(
                       title: 'Main Category',
                       route: 'MainCategoryScreen',
                     ),
                     MenuItem(
                       title: 'Sub Category',
                       route: 'SubCategoryScreen',
                     ),
                     MenuItem(
                       title: 'Vendor',
                       route: 'VendorScreen',
                       icon: Icons.group_add_outlined,
                     ),
                   ],
                 ),
               ],
               selectedRoute: 'AppLayout',
               onSelected: (item) {
                 AppCubit.get(context).screenSelector(item);
                 /*if (item.route != null) {
                   Navigator.of(context).pushNamed(item.route!);
                 }*/
               },
               header: Container(
                 height: 50,
                 width: double.infinity,
                 color: const Color(0xff444444),
                 child: const Center(
                   child: Text(
                     'Menu',
                     style: TextStyle(
                       color: Colors.white,
                     ),
                   ),
                 ),
               ),
               footer: Container(
                 height: 50,
                 width: double.infinity,
                 color: const Color(0xff444444),
                 child:  Center(
                   child:  Text(
                     '${DateTimeFormat.format(DateTime.now(),format: AmericanDateFormats.dayOfWeek)}',
                     style: TextStyle(
                       color: Colors.white,
                     ),
                   ),
                 ),
               ),
             ),
             body: SingleChildScrollView(
               child: AppCubit.get(context).selectorScreen,
             ),
           );
         },
       );
     }
   }

截图在这里

冲突发生在platform_menu_barflutter_admin_scaffold/src/menu_item

您可以使用as前缀导入

import 'package:flutter_admin_scaffold/admin_scaffold.dart' as adminScf;

要使用它的组件,请使用adminScf.

adminScf.AdminMenuItem(
  title: 'Dashboard',
  route: 'DashBoardScreen',
  icon: Icons.dashboard,
),

MenuItem是一个抽象类(在颤振源代码上),不能直接在SideBaritems中使用。

尝试升级您的软件包,您可以直接使用来自AdminMenuItemflutter_admin_scaffold ,无需任何前缀。

sideBar: SideBar(
    items: [
      AdminMenuItem(
        title: 'Dashboard',
        route: 'DashBoardScreen',
        icon: Icons.dashboard,
      ),

在最后一个片段中,我使用的是flutter_admin_scaffold: ^1.1.1

测试小部件

import 'package:flutter/material.dart';
import 'package:flutter_admin_scaffold/admin_scaffold.dart';

void main() {
  runApp(MaterialApp(
    home: TestCW(),
  ));
}

class TestCW extends StatefulWidget {
  const TestCW({Key? key}) : super(key: key);

  @override
  State<TestCW> createState() => _TestCWState();
}

class _TestCWState extends State<TestCW> {
  @override
  Widget build(BuildContext context) {
    return AdminScaffold(
      backgroundColor: Colors.white,
      appBar: AppBar(
        title: const Text(
          'Electronic App Admin',
          style: TextStyle(letterSpacing: 1),
        ),
      ),
      body: SingleChildScrollView(
        child: Text(""),
      ),
      sideBar: SideBar(
        items: [
          AdminMenuItem(
            title: 'Dashboard',
            route: 'DashBoardScreen',
            icon: Icons.dashboard,
          ),
          AdminMenuItem(
            title: 'Categories',
            children: [
              AdminMenuItem(
                title: 'Category',
                route: 'CategoryScreen',
              ),
            ],
          ),
        ],
        selectedRoute: 'AppLayout',
        onSelected: (item) {},
        header: Container(
          height: 50,
          width: double.infinity,
          color: const Color(0xff444444),
          child: const Center(
            child: Text(
              'Menu',
              style: TextStyle(
                color: Colors.white,
              ),
            ),
          ),
        ),
        footer: Container(
          height: 50,
          width: double.infinity,
          color: const Color(0xff444444),
          child: Center(),
        ),
      ),
    );
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM