Flutter-从List.map()获取迭代索引

我在网上搜索了很多答案。

我在字母列表上写了迭代,并使用“地图”类在屏幕上放置了卡片

在代码中,您可以看到我已经排成一行,并使用“地图”将卡片上所有的userBoard打印到了屏幕上。我想在其中添加一些逻辑,所以我需要获取元素的ID(用于录音事件)。有办法可以做到吗?

实际上我想通过userBoard获取元素的特定索引

码:

Widget build(BuildContext context) {

return Row(

mainAxisAlignment: MainAxisAlignment.spaceEvenly,

children: <Widget>[

Row(

children: userBoard

.map((element) => Stack(children: <Widget>[

Align(

alignment: Alignment(0, -0.6),

child: GestureDetector(

onTap: (() {

setState(() {

// print("element=${element.toString()}");

// print("element=${userBoard[element]}");

});

}),

child: SizedBox(

width: 40,

height: 60,

child: Card(

shape: RoundedRectangleBorder(

borderRadius: BorderRadius.circular(5.0),

),

child: Center(

child: Text(element,

style: TextStyle(fontSize: 30)),

)),

),

),

)

]))

.toList(),

)

],

),

}

-每张卡都是地图的“元素”。我想获取函数onTap的索引。

谢谢。

回答:

要访问索引,您需要使用asMap运算符将列表转换为地图。

final fruitList = ['apple', 'orange', 'mango'];

final fruitMap = myList.asMap(); // {0: 'apple', 1: 'orange', 2: 'mango'}

// To access 'orange' use the index 1.

final myFruit = fruitMap[1] // 'orange'

// To convert back to list

fruit fruitListAgain = fruitMap.values.toList();

userBoard.asMap().map((i, element) => MapEntry(i, Stack(

GestureDetector(onTap: () {

setState(() {

// print("element=${element.toString()}");

// print("element=${userBoard[i].toString()}");

});

}),

))).values.toList();

以上是 Flutter-从List.map()获取迭代索引 的全部内容, 来源链接: utcz.com/qa/421386.html

回到顶部