ブロックからストリームビルダーにオブジェクトの配列(リスト>配列)を渡すフラッタープロジェクトに取り組んでいます。オブジェクトを印刷するとうまく印刷されますが、DropdownMenuItem でそれらをマップしようとすると、前述のエラーがスローされます。したがって、クラス内で同じ形式のダミー配列を作成してアクセスすると、エラーは発生しません。ここで何が欠けているのかわからない、以下のコード。
StreamBuilder(
stream: _bLoc.getJsonArray,
builder: (context, snapshot) {
return snapshot.hasData
? new Container(
width: 150,
color: Theme.of(context).primaryColor,
child: new DropdownButton<String>(
items: snapshot.data.map((value) =>
new DropdownMenuItem<String>(
value: value["distance"],
child: new Text(value["distance"]),
)
).toList(),
onChanged: (_) {},
),
)
: Container();
}),
私のjson構造は以下のとおりです。
[
{"distance": "12km","price": "200LKR",},
{"distance": "2km","price": "100LKR",},
{"distance": "132km","price": "340LKR",}
]