从sqflite数据库中获取Flutter Populate下拉列表

时间:2020-10-10 17:16:24

标签: flutter dart dropdown sqflite

在将来的构建器中从sqflite数据库的响应中填充下拉列表时,我遇到了问题,

这是我的代码

FutureBuilder(
                future: DBProviderExpedientesAulaVirtual.db.getAllAsignaturas(),
                builder: (BuildContext context, AsyncSnapshot snapshot){
                  if(snapshot.connectionState == ConnectionState.done &&
                      snapshot.data != null &&
                      !snapshot.hasError){
                    var mydata = jsonEncode(snapshot.data);
                    print('mydata av $mydata');
                    List<Asignaturas> asignaturaList = AsignaturasFromJson(mydata);
                    return new DropdownButtonFormField <Asignaturas>(
                        value: _asignatura,
                        items: asignaturaList.map<DropdownMenuItem<Asignaturas>>((Asignaturas e){
                          print('esta es e ${e.asignaturaNombre}');
                          return DropdownMenuItem<Asignaturas>(
                            value: e,
                            child:Container(
                              child: Row(
                                children: [
                                  Container(
                                    child: Icon(Icons.book, color: Hexcolor("${e.asignaturaColorPrimario}"),),
                                  ),
                                  Container(
                                    child: Text('${e.asignaturaNombre}'),
                                  )
                                ],
                              ),
                            ),);
                        }).toList(),
                        onChanged: (Asignaturas valor){ setState(() { _asignatura = valor;});} );
                  }else{
                    return Center(
                      child: Container(
                        child: CircularProgressIndicator(),
                      ),
                    );
                  }
                })

这件事不允许我将类文件添加为代码,因此这是外部图像 enter image description here 我能够显示信息,但是当我选择一个元素时会出现错误。

,这是错误的屏幕截图 enter image description here

以防万一,您想知道mydata的样子,就像下面的日志 enter image description here

我读到这是因为我有重复的值,但是我想要的是通过下拉列表项以其ID标识项目,在这种情况下,其名称为asignaturaId。

欢迎任何帮助,谢谢:)

0 个答案:

没有答案