0

我正在从服务器获取值到下拉列表,这些值是从下拉列表值的静态列表中插入的,但是当来自服务器的值是“待定”时,我需要使用下拉列表来更新我的代码下方的特定记录。

  List<String> approvalList = ['Pending', 'Approve', 'Discard'];
  String dropdownValue="Pending";

 Container(
                  height: MediaQuery.of(context).size.height*0.3,
                  width: MediaQuery.of(context).size.width,
                  child:StreamBuilder<List<ApprovalModel>>(
                    stream: bloc.approvalsStream,
                    initialData: [],
                    builder: (context, snapshot) {
                      return ListView.builder(
                          itemCount: snapshot.data!.length,
                          itemBuilder: (context,i){
                            return snapshot.connectionState==ConnectionState.waiting?Lottie.asset(
                              'assets/lottieloading.json',
                              width: 70,
                              height: 70,
                              fit: BoxFit.fill,
                            ):ListTile(
                              title: Text(snapshot.data![i].approverName),
                              trailing: StatefulBuilder(
                                  builder: (BuildContext context, StateSetter setState) {

                                   return DropdownButton<String>(

                                        value: snapshot.data![i].status==0?'Pending':
                                        snapshot.data![i].status==1?'Approve':
                                        'Discard',



                                        items: approvalList.map((String val) {
                                          return DropdownMenuItem<String>(
                                            value: val,
                                            child: new Text(val),
                                          );
                                        }).toList(),
                                        hint: Text(selectedValue),


                                        onChanged: (val) {
                                          setState(() {
                                            dropdownValue = val!;
                                          });
                                        });
                                  }
                              ),
                            );
                          });
                    }
                  )
                  ,
                ),

如您所见,我正在从服务器设置值,它工作正常,但是当该值处于待处理状态时,我想使用下拉列表来更新数据库中的记录。

4

1 回答 1

0

onChanged更新您的 时dropdownValue,还调用您正在使用的方法来更新数据库中的记录。

于 2021-11-06T07:38:42.263 回答