ການນໍາທາງແບບປະກາດ ແລະ overlay ສໍາລັບ Flutter.

ຄວບຄຸມໜ້າ Navigator 2.0 ແລະ overlay ເຉພາະໜ້າຈໍ ໂດຍບໍ່ໃຊ້ Navigator.push/pop ຫຼື showDialog.

ໜ້າແມ່ນຂໍ້ມູນ

PageEntry ເກັບໄວ້ແຕ່ metadata ເທົ່ານັ້ນ. UI ສ້າງໂດຍ resolver ຂອງທ່ານ.

Overlay ເຉພາະໜ້າຈໍ

Dialog ແລະ bottom sheet ຈໍາກັດຕໍ່ແຕ່ລະໜ້າຈໍ ໂດຍບໍ່ມີສະຖານະກໍາທົ່ວໄປ.

ບໍ່ຂຶ້ນກັບສະຖານະ

ໃຊ້ setState, Riverpod, Bloc ຫຼື Provider. ບໍ່ຈໍາເປັນຕ້ອງມີ dependency.

ຂັ້ນຕອນເລີ່ມຕົ້ນ

ຕິດຕັ້ງ declarative_nav ແລະ render ໜ້າຜ່ານ resolver callback.

ການຕິດຕັ້ງ

ຄູ່ມືການໃຊ້ງານ

class AppRootState extends State<AppRoot> {
  OverlayRequest? _overlay;
  late List<PageEntry> _pages;

  @override
  void initState() {
    super.initState();
    _pages = const [PageEntry(key: 'home', name: '/home')];
  }

  Widget build(BuildContext context) {
    return DeclarativePagesNavigator(
      pages: _pages,
      buildPage: _buildPage,
      onPopTop: _popTop,
      canPopTop: () => _overlay == null,
    );
  }
}
ໝາຍເຫດສໍາຄັນ

ແພັກເກດນີ້ຫຼີກລ້ຽງ Navigator.push/pop ແລະການເອີ້ນ showDialog. ຄວບຄຸມນໍາທາງແລະ overlay ຈາກສະຖານະ.

ກ່ອນໜ້າ

ພາບລວມ