使用 Provider、Repository、MVC 的 flutter getx show dropdown

flutter getx show dropdown using Provider, Repository, MVC

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

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

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

的值