Flutter 错误不能';t推断类型参数';T';。使用Map.fromIterable时
我正在尝试将Flutter 错误不能';t推断类型参数';T';。使用Map.fromIterable时,flutter,dart,Flutter,Dart,我正在尝试将列表转换为映射,用于CupertinoSlidingSegmentedControl的子级。我尝试使用Map.fromIterable但是我得到了一个错误 这是我的密码: final List tabValues=['first','second','third']; Cupertinoslidings分段控制( groupValue:selectedTab, onValueChanged:\u onTabChange, 儿童:Map.fromIterable( tabValues,
列表
转换为映射
,用于CupertinoSlidingSegmentedControl
的子级。我尝试使用Map.fromIterable
但是我得到了一个错误
这是我的密码:
final List tabValues=['first','second','third'];
Cupertinoslidings分段控制(
groupValue:selectedTab,
onValueChanged:\u onTabChange,
儿童:Map.fromIterable(
tabValues,
值:(元素)=>\选项卡内容(元素),
),
)
小部件选项卡内容(字符串文本){
返回文本(Text);
}
获取错误:
无法推断类型参数“t”
该函数需要键
和值
映射函数
您需要同时提供这两个函数或不提供,如果选择后者,这意味着您将得到一个映射
,其中键和值函数将替换为标识函数
在你的情况下,我会这样做:
children:tabValues.asMap().map((索引,tabValue)=>MapEntry(索引,tabContent(tabValue)))
键
应该是小部件的索引,它是在我们执行tabValues.asMap()
时创建的,因此现在我们只需要调用.map
将tabValue
转换为小部件。您缺少键
mapping@smac89你能给我看一个样品吗?在你的地图中,int
应该是小部件的索引吗?@smack89是。所以结果应该是{0:Text('first),1:Text('second'),2:Text('third)}