我的应用程序中有一个数据模型,如下所示:
final DUMMY_THERAPISTS = [
Therapist(
id: 't1',
name: 'John Doe',
imageUrl:
'https://thumbs.dreamstime.com/b/avatar-del-terapeuta-icono-web-doctor-103706622.jpg',
specialties: [
'Acupuncture',
'Homeopathic',
'Floral Therapy',
],
),
]我可以访问类中的所有值,但数组值除外。它被定义为类模型中的一个列表。
这就是我显示数据的Widget:
class TherapistsOverviewScreen extends StatelessWidget {
final List<Therapist> loadedTherapists = DUMMY_THERAPISTS;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Therapists'),
),
body: GridView.builder(
itemCount: loadedTherapists.length,
itemBuilder: (ctx, i) => Card(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Wrap(
children: [
CircleAvatar(
radius: 25.0,
backgroundImage: NetworkImage(loadedTherapists[i].imageUrl),
),
Text(loadedTherapists[i].name),
Chip(
label: Text(loadedTherapists[i].specialties.toString()),
),
],
),
),
),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
),
);
}
}按照它的方式,它返回数组中的整个集合,因为它只在类的列表中迭代,而不是在第二级,因此在应用程序中返回一个芯片部件,内容如下:‘针灸,顺势疗法,花卉疗法’,而不是他们自己的个人价值。
我尝试使用Dart的for循环,我设法获得了每个单独的值,但是我找不到绑定到相应对象组的方法。
提前谢谢。
发布于 2021-03-22 17:45:59
替换Chip(label: Text(loadedTherapists[i].specialties.toString()),),
用for (var specialty in loadedTherapists[i].specialties) Chip(label: Text(specialty.toString()))
您需要遍历每个值来构建单个芯片小部件。
https://stackoverflow.com/questions/66750605
复制相似问题