我有一个班级限制和3个孩子。
我想将数据从 CountryDropDown(以及看起来几乎相同的 FieldDropDown 类,以及从 DateSelector 类,但可能是以后(类传递到限制,然后传递到 UserOffers(通过点击按钮更新列表(。
目前,我只能在限制类中定义变量并像这样传递它。全部在字符串上。
限制类:
String selectedCountry = "Argentina";
...
children: <Widget>[
Container(
margin: EdgeInsets.only(left: 20),
child: FieldDropDown(),
),
Container(
padding: EdgeInsets.only(top: 10),
margin: EdgeInsets.only(left: 20),
child: CountryDropDown(
),
...
Container(
child: UserOffers(
country: selectedCountry,
field: selectedField,
),
),
用户优惠类:
class UserOffers extends StatefulWidget {
final String country;
final String field;
UserOffers({
this.country,
this.field
}); ...
国家/地区下拉类:
static String value;
static String selected;
@override
void initState() {
selected = _CountryDropDownState.selected;
super.initState();
} ...
... ]
.map((label) => DropdownMenuItem(
child: Text(label),
value: label,
))
.toList(),
onChanged: (value) {
setState(() => selected = value);
print(selected);
},
),
),
)
提前谢谢你。
看来您的问题与 Flutter 中的状态管理有关。有几种方法可以解决此问题,例如:
- 继承的小部件
- 供应商
- 集团
- 复刻 度
如果您想了解更多信息,请查看官方记录。