列表中的小组件
本课属于 Coddy Flutter 学习旅程的“你的第一个应用”单元。第 29 课,共 32 课。
每一项都写一个 Text 会很冗长,而且列表发生变化时就会出问题。Dart 可以帮你创建这些组件,只需在列表中使用 for:
List<String> colors = ['red', 'green', 'blue'];
Column(
children: [
for (String color in colors) Text(color),
],
)可以这样理解:对于 colors 中的每个 color,添加一个 Text(color)。这个 Column 会得到三个文本。如果你在列表中添加第四种颜色,就会自动出现第四个文本。
挑战
简单列中只显示了前两个行星。请按顺序显示全部四个行星,用一个遍历 planets 列表的 for 循环替代两行 Text。
亲手试试
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
List<String> planets = ['Mercury', 'Venus', 'Earth', 'Mars'];
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Text(planets[0]),
Text(planets[1]),
],
),
),
),
);
}
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
你的第一个应用中的所有课
自己练习: Flutter 在线编译器