此列表如何使用map集成到Dropdownbutton项目中?有人可以解释吗?

问题描述 投票:0回答:1

这是在类状态下定义的:

static var _priorities = ["High", "Low"]; strong text

这在构建小部件内:

ListTile( title: DropdownButton( items: _priorities.map((String dropDownStringItem) { return DropdownMenuItem<String>( value: dropDownStringItem, child: Text(dropDownStringItem), ); }).toList(), onChanged: null), )

flutter dropdown
1个回答
0
投票
Dart documentation上的List.map

返回一个新的惰性Iterable,该元素具有通过按迭代顺序在此Iterable的每个元素上调用f而创建的元素。

map返回一个Iterable,其中包含来自原始List转换后的每个元素。列表中项目的转换方式取决于传递给map方法的闭包。您的情况:

    您从String列表中选取每个_priorities:“高”和“低”。
  1. 您通过将DropDownMenuItem<String>传递给DropDownMenuItem Function(String)方法,为其中每个构建一个map。您传递给map的闭包是接受String并返回DropDownMenuItem
  2. 的函数
  3. 然后,您调用toList()Iterable返回的map转换为List
  4. 这样,通过获取原始列表中的每个List<String>并为每个字符串构建一个List<DropDownMenuItem>,您已经将String转换为DropDownMenuItem
© www.soinside.com 2019 - 2024. All rights reserved.