如何在颤动中显示选定的下拉值索引号?

东城

我的下拉菜单工作正常。我可以从下拉列表中选择项目,并在我的应用程序中显示所选项目。现在,我不想显示从下拉列表中选择的项目,而是显示该特定项目的索引号。

示例图片

我的下拉项目列表

    List<String> qualities = [
    "Creativity",
    "Commitment",
    "Planning",
    "Optimism",
    "Innovative"
  ];

空列表。在这里我存储选定的项目,然后使用 for 循环显示

 List<String> selectedItem_ArrayList = []; //Storing DropDown selected data

我的下拉菜单

DropdownButton<String>(
                          underline: Container(),
                          icon: Icon(Icons.keyboard_arrow_down),
                          iconSize: 24,
                          isExpanded: true,
                          onChanged: (value) {
                            if (!selectedItem_ArrayList.contains(value)) {//=============================================>>>Items Disable after selection
                              setState(() {
                                selectedQualities = value!;
                                selectedItem_ArrayList.add(selectedQualities);
                              });
                            }//==============================================>>>Adding item into list
                          },
                          value: selectedQualities,
                          items: qualities.map((dropdownValue) => DropdownMenuItem(
                                    child: Text(
                                      dropdownValue,
                                      maxLines: 2,
                                      style: TextStyle(
                                        color: selectedItem_ArrayList.contains(dropdownValue)? Colors.grey: null,
                                      ),
                                    ),
                                    value: dropdownValue,
                                  ))
                              .toList(),
                        ),

从下拉列表中显示所选项目

 Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: [
                  for (var i = 0; i < selectedItem_ArrayList.length; i++)
                    ListTile(
                      title: Text(selectedItem_ArrayList[i]), //### here I want to show index number of that particular selected item.
                      trailing: GestureDetector(//#################### remove specific index item
                        onTap: () {
                          setState(() {
                            selectedItem_ArrayList.remove(selectedItem_ArrayList[i]);
                          });
                        },
                        child: Icon(
                          Icons.delete_rounded,
                          color: Colors.red,
                        ),
                      ),
                    ),
                ],
              )

为每个项目选择使用indexOf其唯一的显示索引号0

title: Text(selectedItem_ArrayList[i].indexOf(selectedItem_ArrayList[i]).toString()),
梅·M。

我知道您想在原始质量列表中显示元素的索引号?

最简单的方法是要么对原始列表进行检查,要么拥有一个索引表来快速获取所需的索引。

在第一种情况下,你要做的就是调用类似的东西qualities.indexOf(selectedItem_ArrayList[i]),它应该可以解决问题。

如果你想要一个索引表,我可能会将质量列表转换为 Map<String, int> :

final qualities = <String, int>{
  "Creativity": 0,
  "Commitment": 1,
  "Planning": 2,
  "Optimism": 3,
  "Innovative": 4,
};

然后,不要qualities.map在 DropdownButton 中使用,而是使用qualities.keys.map. 一旦您需要返回索引,您只需调用qualities[selectedItem_ArrayList[i]).

作为一个快速说明,您selectedItem_ArrayList[i].indexOf(selectedItem_ArrayList[i])不会做您期望它做的事情,就像您对列表中的特定元素执行 indexOf 一样,这意味着您在 String 上执行此操作。目前,它返回 0,因为您在 indexOf 的参数中传递的 Pattern 是字符串本身,因此它验证 Pattern 是从字符串的开头找到的。如果没有,它将返回-1。

如果您想在选择项列表中显示元素的索引,您可以使用selectedItem_ArrayList.indexOf(selectedItem_ArrayList[i]).

希望能帮助到你!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 PHP 的动态下拉列表中显示选定的值

如何在国家/地区下拉列表中显示选定的值

如何在下拉选定索引更改事件中的中继器中找到下拉选定值?

如何在Codeigniter的下拉列表中删除索引号?

如何在Yii2应用程序的多选下拉列表中显示选定的值?

flask-如何在同一HTML页面中显示选定的下拉值?

如何显示下拉菜单中的选定值

如何在SumoSelect下拉列表中获取选定的值?

如何在Angular 5中动态设置选定的下拉值

如何在flutter中获取选定的下拉项值?

如何在“选择”下拉列表中获取选定的选项值

如何在更新表单的下拉列表中设置选定的值

如何在颤动下拉值和图标但只设置值?

如何使用JQuery通过选项列表索引号更改JQuery-select2下拉列表的选定值

如何在重定向页面中显示下拉列表和复选框选定值以在 PHP 中进行确认?

如何在不重新加载页面或使用按钮的情况下显示(选择下拉列表)中的选定文本值

显示索引号而不是值的 JS 级联下拉列表

如何在颤动中循环显示图标?

如何通过索引号显示数组的值?

在颤动中传递选定索引的更好方法

如何在颤动中乘以动态值

如何在编辑页面中显示选定的值

如何在输入文本框中显示选定的值

如何在Vue中显示选定值的信息

如何在颤振中获取下拉按钮的选定索引

如何使用Laravel在下拉列表中显示数据库中的选定值?

如何在下拉列表中显示数据中的选定选项?

Microsoft Report Builder:如何在表中显示多值参数中的选定选定值?

jQuery - 如何通过动态表中的文本框显示下拉选定的值