【发布时间】:2019-06-10 15:59:55
【问题描述】:
我有以下类来保持我的状态:
import 'package:flutter/foundation.dart';
enum ActiveProduct {
HOME,
BURGUNDY,
VIRTUAL
}
class ActiveProductModel extends ChangeNotifier {
ActiveProduct _activeProduct = ActiveProduct.HOME;
ActiveProduct get value => _activeProduct;
void set(ActiveProduct newValue) {
_activeProduct = newValue;
notifyListeners();
}
}
每当“ActiveProduct”更改时,我想更改 TabView 中选定的选项卡。
目前我已经设置了这样的应用程序:
class MainScaffold extends StatelessWidget {
@override
Widget build(BuildContext context) {
return DefaultTabController(
length: 3,
child: Scaffold(
body: TabBarView(
children: [
Text("hello! abc"),
Text("hello! sdsadsa"),
Text("hello! 231321"),
],
),
),
);
}
}
当 ActiveProduct 发生变化时,如何更改 TabBarView 中选定的选项卡?
我尝试将 MainScaffold 包装在 Consumer 中并设置 DefaultTabController 的 initialIndex 值。然而这并没有奏效。
我正在使用 Provider 包进行状态管理。
【问题讨论】:
标签: flutter