Onchange方法:在flutter中下载List

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

我有一个列表,一些索引包含下拉作为项目,但当我从列表的特定索引的下拉列表中选择一个项目,但相同的选定值将坚持另一个索引。例如,我有一个列表,其中一些索引包含国家/地区下拉列表,如结算国家/地区和运输国家/地区。我只想区分运费和结算国家/地区。

我如何以这样的方式实施onChange,以便在不同的索引中为我提供不同的国家/地区?

这是我的清单项目

 Container item(double width,Fieldlist field,int index){
   return Container(
           child: field.fieldname.toLowerCase().contains('country')||field.fieldname.toLowerCase().contains('state')?
           countryContainer(width,field,index): textFieldContainer(width,field),
   );
  }

这是我国下拉的集装箱区块

Container countryContainer(double width,Fieldlist field,int index){
  return  Container(
      child:DropdownButtonHideUnderline (
    child: DropdownButton(
      value: _country,
      items: _dropDownCountry,
      onChanged:(Country val){
        enteredValueMap[field.reqKeyValue]=val.countrycode;
        setState(() {
          _country = val;
          _country=cs.getCountry().indexOf(val) as Country;
        });
      },),));}

我试图找到下拉索引但无法找到它。

android dart flutter
1个回答
0
投票

使用下拉按钮的值作为列表并使用传递给列表的函数的索引,并在set state函数中,将index的列表的值设置为val。功能:

Container countryContainer(double width,Fieldlist field,int index){
  return  Container(
      child:DropdownButtonHideUnderline (
    child: DropdownButton(
      value: _country[index],  //added [index]
      items: _dropDownCountry,
      onChanged:(Country val){
        enteredValueMap[field.reqKeyValue]=val.countrycode;
        setState(() {
          _country[index] = val; //added [index]
        });
      },),));} 

不要忘记使用在项目中找到的值初始化列表(_dropDownCountry)或将它们保留为空。

© www.soinside.com 2019 - 2024. All rights reserved.