0

我正在使用带有颤振的 getx obs,下面是 json 响应。

[{"id":1,"designation":"Deputy General Manager"},{"id":2,"designation":"Executive Director, Technical Operations","designation_short_code":"ED, TO"},{"id":3,"designation":"Manager","designation_short_code":"M"},{"id":4,"designation":"Sr. Manager","designation_short_code":"Sr. M"}]

在我正在使用的控制器中 -

var listData = List<dynamic>.empty(growable: true).obs;
 var designation = 1.obs;

  void setDesignation(int value) {
    designation.value = value;
  }

我正在根据 listData 下的 api 调用获得上述 json 响应。

在 UI 我使用下面的代码..

Obx(() => DropdownButtonFormField<dynamic>(
                          decoration: InputDecoration(
                            hintText: 'Designation',
                            labelText: 'Select Designation',
                            border: OutlineInputBorder(
                              borderRadius: BorderRadius.circular(8),
                            ),
                            filled: true,
                            fillColor: Colors.white,
                            errorStyle: TextStyle(color: Colors.yellow),
                          ),
                          hint: Text(
                            'Select Designation',
                          ),
                          onChanged: (selectedValue) {
                            designation_controller
                                .setDesignation(selectedValue);
                          },
                          value:
                              designation_controller.designation.value.toInt(),
                          items: designation_controller.listData.map((map) {
                            return DropdownMenuItem(
                              child: Text(map['designation']),
                              value: map['id'],
                            );
                          }).toList(),
                        )),

我的问题是,每当我选择指定时,尽管我的 api 端点收到 200 响应,但它并没有更新。

谁能帮助我。提前感谢。

4

1 回答 1

0

我已经解决了问题。我的问题在下面的代码中

updateData(
    controller.userData[0]['id'], 
    controller.designationEdittingTextController.text
)

我已更改controller.designationEdittingTextController.textcontroller.designationEdit.value如下

updateData(
    controller.userData[0]['id'],
    controller.designationEdit.value
)

谢谢

于 2021-10-26T08:58:51.220 回答