我是一个初学者,实际上是整个软件开发领域的
我有一个用循环生成的列表,我想在">三个"one_answers">六个'之后添加Divider()
,最好使用三元运算符,要么,否则,
您可以通过访问来尝试该代码
import 'package:flutter/material.dart';
List<String> items = <String>[
"One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight",
];
void main() {
runApp(
MaterialApp(
home: Scaffold(
body: ListView(
children: [
for (int i = 0; i < 8; i++)
ListTile(title: Text(items[i])),
],
),
),
),
);
}
谢谢你。。。
您想在3和6之后添加Divider
,但使用三元运算符,您将用Divider
替换ListTile
小部件。
val? true:false
,意味着这里只返回一个。正如@Josteve在回答中提到的那样,只需要检查索引并在three
和six
之后添加除法器,if
语句就非常适合。虽然在children
中只能是小部件而不是列表,但他使用Column
来合并Divider
和ListTile
,您可以使用spread operator
。
ListView(
children: [
for (int i = 0; i < 8; i++) ...[
ListTile(title: Text(items[i])),
if (i == 2 || i == 5) const Divider()
]
],
),
您可以查看有关排列运算符和用例的更多信息。
试试这个:
for (int i = 0; i < 8; i++) ...[
ListTile(title: Text(items[i])),
if (i == 2 || i == 5) const Divider()
]