从颤振中的第二个索引数据中检索数据


class DataList {
static List<Map<String, dynamic>> computerData =
[
{
"maintopic": "Computer Software",
"subtopic": [
{
"topic": "introduction",
"content": "owhrfiuwbef iosevibskvsuibvisncsd
nisudvusvc
}
]
},
{
"maintopic": "Computer",
"subtopic": [
{
"topic": "introduction", "content": "owhrfic"
},
]
}

如何从上述复杂列表中访问位于第二个位置的内容键?

ListView.builder(
DataList.computerData.length, itemBuilder: (context, index) {
return Container(
child: Column(
children: [
DataList.computerData[index]["subtopic"], 
...DataList.computerData[index]["subtopic"]
.forEach((data) {
data['subtopic'].forEach((subtopic) {
}),

我尝试了上面的代码,但仍然无法获得所需的数据

试试这个代码:

class MyPage extends StatelessWidget {
MyPage({super.key});
final coumputerData = [
{
"maintopic": "Computer Software",
"subtopic": [
{
"topic": "introduction",
"content": "owhrfiuwbef iosevibskvsuibvisnesd nisudvusvc",
}
]
},
{
"maintopic": "Computer",
"subtopic": [
{
"topic": "introduction",
"content": "owhrfic",
}
]
}
];
@override
Widget build(BuildContext context) {
return Scaffold(
body: ListView.builder(
shrinkWrap: true,
physics: const ClampingScrollPhysics(),
itemCount: coumputerData.length,
itemBuilder: ((context, index) {
final List<Map> arrSubTopic =
coumputerData[index]['subtopic'] as List<Map>;
return Column(
children: [
Container(
height: 40,
color: Colors.red,
child: Row(
children: [
Expanded(
child: Center(
child:
Text(coumputerData[index]['maintopic'] as String),
),
)
],
),
),
Container(
color: Colors.amber,
child: ListView.builder(
shrinkWrap: true,
physics: const ClampingScrollPhysics(),
itemCount: arrSubTopic.length,
itemBuilder: ((context, inx) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(arrSubTopic[inx]['topic'] as String),
Text(arrSubTopic[inx]['content'] as String)
],
),
);
}),
),
)
],
);
}),
),
);
}
}

您还可以使用模型类访问数据。你可以使用这个网站来生成模型类。

相关内容

最新更新