dart 此表达式的类型为“void”,因此无法使用其值,在列表中遍历map

eqqqjvef  于 2023-06-03  发布在  其他
关注(0)|答案(1)|浏览(117)

我试图创建一个切换按钮的菜单选项,在这一部分,我试图得到一个buttom,客户可以选择什么类型的牛奶想。所以我有一张Map,上面有牛奶的种类,这取决于牛奶的名称和价格。我尝试迭代Map以获取Milks的名称(Map在List中)

> class ToggleButtonsLeche extends StatefulWidget {
  final Drink drink;
  const ToggleButtonsLeche({Key? key, required this.drink}) : super(key: key);

  @override
  State<ToggleButtonsLeche> createState() => _ToggleButtonsLecheState();
}

class _ToggleButtonsLecheState extends State<ToggleButtonsLeche> {
  List<bool> _isSelected = [true, false, false];

  @override
  Widget build(BuildContext context) {
    return Consumer<BubbleTeaShop>(builder: (context, value, child) =>
        SafeArea(child: Column(
      children: [
        ToggleButtons(
            children: <Widget>[
              value.tiposdeLeche.forEach((element) => Text(element.tipodeLeche)
)
            ],
            isSelected: _isSelected)
      ],
    )
        ),
    );
  }
}

错误在“forEach”中,它说“此表达式的类型为'void',因此无法使用其值。(文档)尝试检查您是否使用了正确的API;可能有一个函数或调用返回了你没有预料到的void。同时检查类型参数和变量,它们可能也是void。”请帮助并感谢。

4bbkushb

4bbkushb1#

forEach是一个void函数。可以使用.map

...value.tiposdeLeche.map((element) => Text(element.tipodeLeche),

有关spreed运算符的更多信息

相关问题