我使用下拉小部件并從虛擬 json 獲取值,當我按下該值時它回傳 null 但它出現在選單中。
這是 setState
items: dropdownValueList2.map((e) {
// var index = widget.data['option'].indexOf(e);
return DropdownMenuItem(
value: e['value'],
child: Text(e['value']),
);
}).toList(),
value: dropdownValue,
onChanged: (value) {
setState(() {
dropdownValue = value;
print(dropdownValue);
// getValue(dropdownValue,value);
});
},
json
'option': [
{
'value': 'Test Ride Period',
},
{
'value': 'Demonstration Period',
}
],
String dropdownValue;
List dropdownValueList2 = [];
@override
Widget build(BuildContext context) {
for (var item in widget.data['option']) {
dropdownValueList2.add(
{
'value': item['value'],
},
);
}


uj5u.com熱心網友回復:
您可以在 build 方法之外將值添加到dropdownValueList2嗎?每次您觸發小部件重建(通過setState)時,它們都會被重新添加,導致由于下拉串列中的重復條目而顯示問題。我看到你的截圖也不止一個“試乘期”。如果這是一個StatefulWidget,您可以嘗試將其添加到initState上。如果沒有,請在再次添加值或避免重復之前嘗試始終清除它。你可以試試并告訴我們嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/432460.html
上一篇:影像獲取像素RGBA
下一篇:如何提高這個json搜索的效率
