gpt4 book ai didi

android - Flutter-如何从静态列表中进行动态下拉列表?

转载 作者:行者123 更新时间:2023-12-03 04:46:58 24 4
gpt4 key购买 nike

我有一个名为getBreed()的方法,该方法根据填充在另一个小部件中的物种,返回狗或猫品种的列表,以填充品种的动态下拉列表。但是此方法无法正常工作,会发生错误:

方法“map”在null上被调用。尝试调用:map>(Closure:(String)=> DropdownMenuItem)

但是,如果我调用直接返回列表的方法,它将起作用,例如:

//instead of this
DropdownContent.getBreed(widget.pet.specie).map<DropdownMenuItem<String>>((String value) {
//i put this
DropdownContent.listOfDogBreeds().map<DropdownMenuItem<String>>((String value) {

为什么会这样呢?贝娄是我的完整代码:
new Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new DropdownButton<String>(
value: widget.pet.breed == null
? dropdownInitialValue
: widget.pet.breed,
icon: Icon(Icons.arrow_downward),
iconSize: 15,
elevation: 16,
style: TextStyle(color: Colors.black, fontSize: 14),
underline: Container(
height: 2,
color: Colors.grey,
),
onChanged: (String newValue) {
setState(() {
dropdownInitialValue = newValue;
widget.pet.breed = newValue;
});
},
items: DropdownContent.getBreed(widget.pet.specie).map<DropdownMenuItem<String>>((String value) {
return DropdownMenuItem<String>(
value: value,
child: Text(value),
);
}).toList(),
)
])



class DropdownContent {
static List<String> listOfDogBreeds() {
return [
'Select',
'Australian Cattle',
'Basset Hound',
'Chihuahua',
'Chow Chow'
];
}

static List<String> listOfCatBreeds() {
return <String>[
'Select',
'American Shorthair',
'Bengal',
'Maine Coon',
'Sphynx'
];
}


static getBreed(String specie) {
if (specie.contains('dog')) {
listOfDogBreeds();
}
if (specie.contains('cat')) {
listOfCatBreeds();
}
}
}

最佳答案

“getBreed”方法中缺少单词返回

关于android - Flutter-如何从静态列表中进行动态下拉列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62110460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com