flutter - 包装在 Flutter 上
问题描述
我正在尝试获取小部件布局和包装的逻辑。这部分对我来说并不容易。
我有一个从 JSON 获取新闻的工作主页。我正在尝试将类别集成为可滚动的文本选项卡,但在此代码中我收到 4 个错误,主要是 ) 或 } 的错误位置
这是代码:
class NewsView extends StatefulWidget {
const NewsView({Key? key}) : super(key: key);
@override
_NewsViewState createState() => _NewsViewState();
}
class _NewsViewState extends State<NewsView> {
final _newsService = NewsService();
late Future<Articles> _futureArticles;
@override
void initState() {
_futureArticles = _newsService.getArticles();
super.initState();
}
@override
Widget build(BuildContext context) {
return DefaultTabController(
length: 3,
child: Scaffold(
appBar: AppBar(
bottom: TabBar(
tabs: [
Tab(icon: Icon(Icons.flight)),
Tab(icon: Icon(Icons.directions_transit)),
Tab(icon: Icon(Icons.directions_car)),
],
),
title: Text('Tabs Demo'),
),
body: TabBarView(
children: [
Icon(Icons.flight, size: 350),
Icon(Icons.directions_transit, size: 350),
Icon(Icons.directions_car, size: 350),
],
),
),
);
body: Container(
padding: const EdgeInsets.all(
10.0,
),
child: FutureBuilder<Articles>(
future: _futureArticles,
builder: (BuildContext context, AsyncSnapshot<Articles> snapshot) {
if (snapshot.hasData) {
final articles = snapshot.data?.data;
return ListView.builder(
itemCount: articles!.length,
itemBuilder: (BuildContext context, int index) =>
customListTile(articles, index, context));
} else if (snapshot.hasError) {
return NewsError(
errorMessage: '${snapshot.hasError}',
);
} else {
return const NewsLoading(
text: 'Loading...',
);
}
},
),
)
);
}
}
顺便说一句:有没有办法更好地查看 VSCode 上的此类错误?当然它说例如第 80 行期待),但它没有帮助。也许还有其他方法可以做到。对我来说理解包装逻辑真的很复杂。
有什么帮助吗?
解决方案
推荐阅读
- tcp - AWS NLB 会尝试纠正 TCP 连接中的无效数据包吗?
- google-cloud-platform - 如何使用 terraform 在 gcp 实例中为附加的附加磁盘设置自动删除选项?
- python - 有没有办法在 altair 中设置全局首选项?
- arrays - 在 9x9 板上打印数独文本文件
- postgresql - 函数扫描导致大量缓冲区命中并降低查询性能
- .net - Visual Studio 更新后的 .net 核心构建错误
- android - 如何防止用户更改密码后阅读?
- javascript - Nodejs/Expressjs 路由器在特定端点完全没有响应
- java - Setter方法不适用于vertx中带有@DataObject的另一个对象
- r - 语法中是否存在带有 stat=identity 参数的 qplot?检查文档但找不到