2

我是 Flutter 的新手,任何人都分享您使用 getx 显示下拉列表的想法,我尝试使用 List Builder 列出。但不知道使用 GetX(MVC、提供程序、存储库)的下拉菜单。

4

1 回答 1

3

首先在控制器中声明一个变量

var selectedRole = 'CONTENT_CREATOR'.obs;

然后声明这个方法

void onSelected(String value) {
selectedRole.value = value;
registrationParam.value.roleType = selectedRole.value;

}

最后像这样从你的 UI 代码调用

Padding(
                        padding: const EdgeInsets.only(right: 8, left: 16),
                        child: Obx(
                          () => DropdownButton(
                            underline: SizedBox(),
                            isExpanded: true,
                            hint: Text('Select a role'),
                            value: _regController.selectedRole.value,
                            items: [
                              DropdownMenuItem(
                                  value: "CONTENT_CREATOR",
                                  child: Text("Content Creator")),
                              DropdownMenuItem(
                                  value: "PR", child: Text("PR Agency")),
                              DropdownMenuItem(
                                  value: "JOURNALIST",
                                  child: Text("Journalist"))
                            ],
                            onChanged: (val) {
                              _regController.onSelected(val);
                            },
                          ),
                        )),

**您的初始值必须来自 DropdownMenuItem 的值

于 2021-07-08T18:31:35.017 回答