【发布时间】:2021-07-04 04:02:09
【问题描述】:
在我的 Flutter 项目中,我启用了 lint 包。在我的代码中,我有一张地图Map<String, List<dynamic>> options = ...;。该列表被键入为动态的,但实际上它始终是一个不可增长的长度为 2 的列表[String, IconData]。我使用地图如下:
options.entries
.map((e) => SwitchListTile(
title: Text(e.value[0].toString()),
secondary: Icon(e.value[1]),
value: notificationSettings[e.key],
onChanged: (bool value) => onNotificationChanged(topic: e.key, enabled: value),
))
.toList());
即列表中的String 是listTile 的标题,IconData 是要显示的图标,地图键被赋予notificationSettings 以获取当前设置,以及onNotificationChanged 处理程序更新设置。
linter 说我不应该在使用 e.value[i] 的地方使用 dynamic 变量,所以我想知道是否可以显式键入不可增长的固定类型列表,例如通过写类似List<String, IconData> 的东西。我尝试了一些直观的语法,但都没有奏效,而且我在互联网上找不到任何东西。
【问题讨论】: