簡體   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