Menu
CoddyTech

列表中的小组件

本课属于 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 会得到三个文本。如果你在列表中添加第四种颜色,就会自动出现第四个文本。

challenge icon

挑战

简单

列中只显示了前两个行星。请按顺序显示全部四个行星,用一个遍历 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]),
            ],
          ),
        ),
      ),
    );
  }
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

你的第一个应用中的所有课

自己练习: Flutter 在线编译器