我是 Flutter 的新手,任何人都分享您使用 getx 显示下拉列表的想法,我尝试使用 List Builder 列出。但不知道使用 GetX(MVC、提供程序、存储库)的下拉菜单。
问问题
526 次
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 回答