jump to setting page

Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
21pages
2022-09-23 18:28:40 +08:00
parent 8ace328de2
commit 960df96fdd
5 changed files with 68 additions and 18 deletions

View File

@@ -14,6 +14,23 @@ class DesktopTabPage extends StatefulWidget {
@override
State<DesktopTabPage> createState() => _DesktopTabPageState();
static void onAddSetting({int initialPage = 0}) {
try {
DesktopTabController tabController = Get.find();
tabController.add(TabInfo(
key: kTabLabelSettingPage,
label: kTabLabelSettingPage,
selectedIcon: Icons.build_sharp,
unselectedIcon: Icons.build_outlined,
page: DesktopSettingPage(
key: const ValueKey(kTabLabelSettingPage),
initialPage: initialPage,
)));
} catch (e) {
debugPrint('$e');
}
}
}
class _DesktopTabPageState extends State<DesktopTabPage> {
@@ -22,6 +39,7 @@ class _DesktopTabPageState extends State<DesktopTabPage> {
@override
void initState() {
super.initState();
Get.put<DesktopTabController>(tabController);
tabController.add(TabInfo(
key: kTabLabelHomePage,
label: kTabLabelHomePage,
@@ -33,6 +51,12 @@ class _DesktopTabPageState extends State<DesktopTabPage> {
)));
}
@override
void dispose() {
super.dispose();
Get.delete<DesktopTabController>();
}
@override
Widget build(BuildContext context) {
RxBool fullscreen = false.obs;
@@ -48,7 +72,7 @@ class _DesktopTabPageState extends State<DesktopTabPage> {
tail: ActionIcon(
message: 'Settings',
icon: IconFont.menu,
onTap: onAddSetting,
onTap: DesktopTabPage.onAddSetting,
isClose: false,
),
));
@@ -62,13 +86,4 @@ class _DesktopTabPageState extends State<DesktopTabPage> {
fullscreen.value ? kFullScreenEdgeSize : kWindowEdgeSize,
child: tabWidget));
}
void onAddSetting() {
tabController.add(TabInfo(
key: kTabLabelSettingPage,
label: kTabLabelSettingPage,
selectedIcon: Icons.build_sharp,
unselectedIcon: Icons.build_outlined,
page: DesktopSettingPage(key: const ValueKey(kTabLabelSettingPage))));
}
}