【问题标题】:method elementAt() with index without listview.builder?没有listview.builder的索引方法elementAt()?
【发布时间】:2022-07-28 16:04:19
【问题描述】:

如果我需要在没有 listView.builder 的情况下使用索引,如何从地图中获取所有元素?

我创建了下拉菜单,据我了解,它使用 DropDownItem() 小部件的map() 方法创建了列表。我正在尝试使用它,但获取原始字符串数据,但不应该如此。 API也在websockets上工作,它返回像这样{2: GMT +02:00, 3: GMT +03:00}的Map,(它返回Object但我需要用作String)

因此,当我尝试将其放入 UI 中而不使用 API 的原始字符串时,我会这样做:

 items: snapshot.data?.values
                  .map((e) => DropdownMenuItem<String>(
                      value: e,
                      child:
                          Text(snapshot.data?.values.elementAt(index) ?? '')))
                  .toList(),

所以问题是,如何使用elementAt() 方法并将index 放入其中而不创建listview.builder 来获取元素的索引?可能是我应该用entries 操作吗?我试图创建 int? index ,但它不起作用。

如果重要,则元素长度为11。

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    您可以使用List.generate

    DropdownButton(
        items: List.generate(values.length, (index) => ..),
    

    或for循环

    DropdownButton(
      items: [
        for (int i = 0; i < values.length; i++)
          DropdownMenuItem(child: child)
      ],
    

    【讨论】:

      猜你喜欢
      • 2019-11-25
      • 1970-01-01
      • 2021-02-24
      • 2023-04-05
      • 1970-01-01
      • 2016-09-22
      • 1970-01-01
      • 1970-01-01
      • 2011-01-21
      相关资源
      最近更新 更多