【发布时间】:2020-12-30 14:13:57
【问题描述】:
如何在 Flutter 中为 TabBar Widget 动态添加选项卡?选项卡列表是使用 REST API 从 Internet 获取的。
当我使用下面的代码获取列表时,出现以下错误:
RangeError(index):无效值:只有有效值是0:1
一个 RenderFlex 在底部溢出了 99896 像素。
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
Future<List<Categories>> categoriesList;
final categoryTabs = <Tab>[
Tab(text: 'Home'),
];
@override
void initState() {
super.initState();
categoriesList = NewsServices.fetchCategoriesList(lang: 'en');
categoriesList.then((categories) {
categories.forEach((category) {
setState(() {
categoryTabs.add(Tab(
text: category.name,
));
});
});
});
}
@override
Widget build(BuildContext context) {
return DefaultTabController(
length: categoryTabs.length,
child: Scaffold(
appBar: AppBar(
title: Text('Example App'),
bottom: TabBar(
isScrollable: true,
tabs: categoryTabs,
),
),
body: SafeArea(...),
),
),
);
}
【问题讨论】:
标签: flutter dart flutter-layout