flutter - 如何为以下数据创建控制器?
问题描述
实际上我正在使用下拉按钮并想通过使用控制器(GetX / obx)而不是setstate来更改点击值,我不知道如何创建列表数据的控制器类。我正在使用 Getx 控制器并用 obx 包装下拉容器
{
"name": "United States",
"code": "US",
"icon": "assets/icons/Flag_US.svg",
},
{
"name": "Puerto Rico",
"code": "PR",
"icon": "assets/icons/Flag_PR.svg",
},
]; 这是我的下拉按钮代码:
child: Obx(
() => DropdownButton(
value: fromCountry,
underline: SizedBox(),
items:
countriesList.map<DropdownMenuItem<String>>((e) {
return DropdownMenuItem<String>(
value: e['name']! + "-" + e['code']!,
child: Container(
padding: EdgeInsets.symmetric(
horizontal: MySize.size10),
child: Row(
children: [
Container(
margin:
EdgeInsets.only(right: MySize.size5),
child: SvgPicture.asset(
e["icon"].toString(),
height: MySize.size20,
width: MySize.size20,
matchTextDirection: true,
),
),
SizedBox(width: MySize.size10),
Text(
e["name"].toString(),
),
],
),
),
);
}).toList(),
isExpanded: true,
icon: Icon(Icons.arrow_drop_down),
hint: Padding(
padding: EdgeInsets.symmetric(
horizontal: MySize.size5,
),
child: Text(
"Select Country",
),
),
dropdownColor: Theme.of(context).backgroundColor,
onChanged: (dynamic value) {
countryController.onSelected(value);
},
),
),
解决方案
推荐阅读
- python-3.x - Loading dataset in UINT8 format- python
- c++ - Win32 MFC OnPaint Resizing and Redrawing handling
- python - Python: vectorizing a function call which uses an array of objects
- hardware - What does the term "assert" mean in respect of hardware (bus) signals?
- php - How can I set value to file in php?
- image - How do I get an image to show on black only?
- ios - Is it possible to call editActionsForRowAt of UITableview manually?
- java - Javers - How to use custom tables
- ssh - What is the best way to remotely edit a file using VS code?
- c# - How can I load FBX file in Unity runtime?