7

ブロックからストリームビルダーにオブジェクトの配列(リスト>配列)を渡すフラッタープロジェクトに取り組んでいます。オブジェクトを印刷するとうまく印刷されますが、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",}
 ]
4

2 に答える 2