Я хочу выпадающий список, значение которого поступает из базы данных sqflite.примерное значение:
{
"id": 5,
"name": "New",
"stages": "{\"Lead in\":false,\"Contacted\":false,\"Demo Presented\":false,\"Proposal Sent\":false,\"t4eg4ehhhe4h\":false,\"Extra Features Discussed\":false,\"Negotiation\":false,\"Closure\":false}",
"created_at": "2019-05-03 17:49:05",
"updated_at": "2019-06-06 16:16:04",
"deleted_at": null
},
мне нужно раскрытие стадий, таких как ввод, контакт, демонстрация, предложение и ниже мой код
FutureBuilder(
future: pipelineHelper.getPipeStage(pipelineId),
builder: (BuildContext context,
AsyncSnapshot<List<Pipeline>>
snapshot) {
if (!snapshot.hasData)
return CircularProgressIndicator();
return DropdownButton(
items: snapshot.data
.map((stageList) => DropdownMenuItem<Pipeline>(
value: stageList, child: Text(stageList.stages),))
.toList(),
onChanged: (actList) {
setState(() {
stageName = actList.title;
debugPrint('stage selected');
});
},
isExpanded: true,
);
})
я не знаю, как разделить динамическое будущеесписок, и я получил {\ "Lead in \": false, \ "Contacted \": false, \ "Demo Presented \": false, \ "Предложение отправлено \": false, \ "t4eg4ehhhe4h \": false, \ "Обсуждаются дополнительные функции \ ": false, \" Переговоры \ ": false, \" Закрытие \ ": false} при раскрытии.Ниже приведен мой вспомогательный код
Future<List<Pipeline>> getPipeStage(int number) async {
Database db = await this.database;
var orgMapList = await db.rawQuery('SELECT $colStages from $pipeTable WHERE $colId = $number'); // Get 'Map List' from database
int count = orgMapList.length;
List<Pipeline> pipeList = List<Pipeline>();
// For loop to create a 'Pipeline List' from a 'Map List'
for (int i = 0; i < count; i++) {
pipeList.add(Pipeline.fromMapObject(orgMapList[i]));
}
return pipeList;
}
, если я это сделаю, то этапы getter не определены для класса «List». Ошибка была видна
items: snapshot.data.stages.split(',')