首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从DropdownButtonFormField获取两个值

DropdownButtonFormField是Flutter中的一个小部件,用于创建一个下拉菜单选择器。它可以用于从用户那里获取一个值。如果你想从DropdownButtonFormField获取两个值,你可以通过以下步骤实现:

  1. 创建一个包含两个值的数据模型类,例如:
代码语言:txt
复制
class MyDataModel {
  final String value1;
  final String value2;

  MyDataModel(this.value1, this.value2);
}
  1. 在你的Flutter页面中,创建一个变量来存储选中的值,例如:
代码语言:txt
复制
MyDataModel selectedValues;
  1. 使用DropdownButtonFormField小部件创建下拉菜单,并设置onChanged回调函数来更新选中的值,例如:
代码语言:txt
复制
DropdownButtonFormField<MyDataModel>(
  value: selectedValues,
  onChanged: (MyDataModel newValue) {
    setState(() {
      selectedValues = newValue;
    });
  },
  items: [
    DropdownMenuItem<MyDataModel>(
      value: MyDataModel('Value 1', 'Value A'),
      child: Text('Option 1'),
    ),
    DropdownMenuItem<MyDataModel>(
      value: MyDataModel('Value 2', 'Value B'),
      child: Text('Option 2'),
    ),
    // 添加更多的选项...
  ],
),

在这个例子中,我们创建了两个选项,每个选项都有一个value1和value2的值。当用户选择一个选项时,onChanged回调函数会更新selectedValues变量。

  1. 当你需要使用这两个值时,可以通过selectedValues.value1和selectedValues.value2来获取它们,例如:
代码语言:txt
复制
String value1 = selectedValues.value1;
String value2 = selectedValues.value2;

这样,你就可以从DropdownButtonFormField获取两个值了。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • leetcode-43. 字符串相乘

    这道题的思路是让一个字符串每个字符与另一个字符串的每一个字符相乘,该进位就进位,该补 0 就补 0,每一次相乘后将结果相加,加到最终就是相乘的结果。   若两个字符串任一为 0,则相乘结果就是 0,直接返回 0 即可。定义一个储存结果集的变量,按照题目要求是字符串,分别求出两个字符串的长度,对 num2 从右边开始遍历,因为右边是低位,定义一个可拼接的 StringBuffer 类型的变量,定义一个储存进位值的变量,i 向左移动是向高位移动,移动几位就要补几个零,读取每一个字符与 ‘0’ 作差得到整形的结果,这是因为 ASCII 码值的字符 ‘0’~‘9’ 是紧挨着的。 同样的,对 num1 从低位进行遍历,先获取字符对应的整形值,两整形相乘加上上一个进位,将结果对 10 求余,得出个位的值,十位的当进位处理,并将结果除以 10 取整,相当于只获取了十位的值,最后的进位是当新的一位处理,直接拼接即可,以上各种拼接后,数值大的在右边,而现实的数,数值大的在右边,所以需要进行一次反转,调用字符串相加的算法得出结果后加入结果集,最后返回最终结果集即可。   字符串相加的算法:思路是将其每个字符转换成整型相加得出结果再转换成字符串。首先获取传进来的两个字符串的长度,且定义一个保存进位的 add 变量,定义结果集,只要以上三个变量不为任一一个不为 0 都能进入循环,只要 num1 或者 num2 的长度不为 0 则进行取值。这里的 num1.charAt(i) - '0' 主要是利用字符 ‘0’ 到 ‘9’ 的 ASCII 码值是连续的,让其作差即可得到字符的本身的整型值。   取完值,两字符串相加再加上上一步的进位,对结果求余作为本次运算的结果,再对结果除以 10 获得进位的值,同步维护两个指针,最后要记得将答案反转一下,因为拼接字符串是从左到右拼接的,但是我们的数是从又到左数值越大的,返回最终答案,记得 toString 变成 String 类型。

    04
    领券