side_nav.dart 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import 'package:flutter/material.dart';
  2. import 'package:get/get.dart';
  3. import 'package:vnoteapp/components/cell.dart';
  4. import 'package:vnoteapp/consts/styles.dart';
  5. import 'package:vnoteapp/routes/transition.dart';
  6. import 'controller.dart';
  7. import 'defines.dart';
  8. part 'nav_view.dart';
  9. part 'side_bar.dart';
  10. class VSideNavView extends StatelessWidget {
  11. /// 导航Id
  12. final int navId;
  13. /// 菜单项集合
  14. final List<VSideNavMenuItem> items;
  15. final VSideNavViewController? controller;
  16. const VSideNavView({
  17. super.key,
  18. required this.navId,
  19. required this.items,
  20. this.controller,
  21. });
  22. @override
  23. Widget build(BuildContext context) {
  24. final c = controller ?? VSideNavViewController();
  25. final sideView = _SideBar(
  26. controller: c,
  27. items: items,
  28. navId: navId,
  29. );
  30. final navView = _NavView(
  31. controller: c,
  32. items: items,
  33. navId: navId,
  34. );
  35. return Container(
  36. child: Row(
  37. children: [
  38. Expanded(
  39. flex: 4,
  40. child: sideView,
  41. ),
  42. Expanded(
  43. flex: 6,
  44. child: navView,
  45. ),
  46. ],
  47. ),
  48. );
  49. }
  50. }