拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 DropDownMenu中的颤振值

DropDownMenu中的颤振值

白鹭 - 2022-02-22 2090 0 0

我想知道你是否在 Flutter 中使用 DropDownMenu 有可能获得不同的值。

例如:你有项目 ['item1','item2','item3','item4','item5'] 然后你对这些项目使用 DropDownButton。但是对于每一个项目都应该传递一个不同的值,以便我以后可以使用它。

所以 item1 = 90, item2 = 180, item3 = 270 等等。如果 item1 被选中,它应该像这样显示给用户,并且应用程序获得值 90,例如它可以在以后使用。

我希望你明白我的意思,可以帮助我一点点。

uj5u.com热心网友回复:

您可以创建一个地图并将其用作 的关键DropDownMenu,同时显示用于key显示价值之类的

 String? dropdownValue;

  Map<String, int> dataset = {
    "item1": 90,
    "item2": 180,
    "item3": 270,
  };
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
          child: Column(
        children: [
          DropdownButtonHideUnderline(
            child: DropdownButton<String>(
              value: dropdownValue,
              focusColor: Colors.white,
              items: dataset.keys.map((String value) {
                return DropdownMenuItem(
                  value: value,
                  child: Text(value),
                );
              }).toList(),
              onChanged: (v) {
                setState(() {
                  dropdownValue = v;
                });
              },
            ),
          ),
          Text(
            dropdownValue == null
                ? "Select Item "
                : dataset[dropdownValue!].toString(),
          ),

uj5u.com热心网友回复:

有很多方法可以做到这一点。

1-通过键值对。

获取您的样品,例如:

items[{'name':'item1','value':'90'},{'name':'item2','value':'180'},{'name':'item3','value':'270'},{'name':'item4','value':'360'}];

(大概他们是 360 度的天使 :-))

然后你可以像这样指向每个项目:items[i]['name']或者items[j]['value']等等......

2-不是首选方式:两个不同的串列,如下所示:

itemNames[items1,item2,item3, item4];
itemValues [90,180,270,360];

然后,您可以将 itemNames 串列传递给您的 dropdownMenu,只要选择了一个项目,您就可以找到它的索引并指向 itemsValues 的相应行。例如:选择了 dropdownMenu item3,因此回传的索引应为 2(索引从 0 开始),因此您可以像这样找到所需的值:desiredValue = itemsValue[2];(270)

标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *