ui_router 1.1.4 ui_router: ^1.1.4 copied to clipboard
Super Simple, Minimal, Lightweight Router. Easy to use and organize the pages on your application.
Simple UI Router #
https://pub.dev/packages/ui_router
router #
final router = UiRouter(
pages: [
UiPage(
id: 'A',
build: (params) => PageA(),
),
UiPage(
id: 'B',
build: (params) => PageB(params['message']),
),
// ...this is all pages in my app
],
);
use as a widget (start with page A) #
router.widget()
push (go to page B) #
router.push('B');
push with params #
router.push('B', params: {'message': 'HELLOπ'});
pop (back one page) #
router.pop();
pop until the specified page #
router.popTo('O');
do something before every push #
router.willPush((left, right) {
// always allow push
return true;
});
do something before every pop #
router.willPop((left, right) {
// always allow pop
return true;
});
see the page IDs stack #
print(router.stack());
show loading with a task #
router.loading(
label: 'Now Loading...',
task: () async {
await Future.delayed(Duration(seconds: 5));
},
);
π Using Navigator 2.0
π Contributions are welcomed!