30 lines
618 B
Dart
30 lines
618 B
Dart
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
|
|
// MainScreen 当前选中的 tab 索引 Notifier
|
|
class MainScreenIndexNotifier extends Notifier<int> {
|
|
@override
|
|
int build() {
|
|
return 0;
|
|
}
|
|
|
|
void setIndex(int index) {
|
|
state = index;
|
|
}
|
|
|
|
void switchToHome() {
|
|
state = 0;
|
|
}
|
|
}
|
|
|
|
// MainScreen 当前选中的 tab 索引 Provider
|
|
final mainScreenIndexProvider = NotifierProvider<MainScreenIndexNotifier, int>(
|
|
() {
|
|
return MainScreenIndexNotifier();
|
|
},
|
|
);
|
|
|
|
// 切换到主页的方法
|
|
void switchToHome(WidgetRef ref) {
|
|
ref.read(mainScreenIndexProvider.notifier).switchToHome();
|
|
}
|