循环内生成'ListView'的三元运算符



我是一个初学者,实际上是整个软件开发领域的

我有一个用循环生成的列表,我想在">三个"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在回答中提到的那样,只需要检查索引并在threesix之后添加除法器,if语句就非常适合。虽然在children中只能是小部件而不是列表,但他使用Column来合并DividerListTile,您可以使用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()
]