Flutter 将变量从dropdownmenu传递到另一个类会得到错误的值
我似乎无法将正确的变量值从下拉菜单传递到另一个类 我已经创建了一个下拉菜单,其值为“Worker 1”、“Worker 2”和“Worker 3”,我知道这个下拉菜单可以工作,因为我能够打印正确的值Flutter 将变量从dropdownmenu传递到另一个类会得到错误的值,flutter,Flutter,我似乎无法将正确的变量值从下拉菜单传递到另一个类 我已经创建了一个下拉菜单,其值为“Worker 1”、“Worker 2”和“Worker 3”,我知道这个下拉菜单可以工作,因为我能够打印正确的值 Here is when i create the dropdownbutton List<String> _dropdownValues = [ ]; for (var worker in workers) { _dropdownValue
Here is when i create the dropdownbutton
List<String> _dropdownValues = [
];
for (var worker in workers) {
_dropdownValues.add(worker.name);
}
String _selectedValue ="";
return DefaultTabController(
length: 3,
child: Scaffold(
appBar: AppBar(
actions: <Widget>[
DropdownButton<String>(
items: _dropdownValues.map((data)=>DropdownMenuItem<String>(
child: Text(data),
value: data,
)).toList(),
onChanged: (String value){
setState(() {
_selectedValue = value;
});
},
hint: Text('Assign checklist \n to worker'),
),
Here i pass values to the second class Tasktile()
body: TabBarView(
children: <Widget>[
Column(
children: <Widget>[
for (Task task in remainingTasks)
TaskTile(
title: task.title,
subtitle: task.subtitle,
checked: task.checked,
checklistId: widget.checklistId,
taskId: task.id,
tasks: task,
hidden: task.hidden,
selectedvalue: _selectedValue,
)
],
),
但当我尝试在文本小部件中写入变量时,如下所示:
Text('${widget.selectedvalue}')
并尝试打印/使用它。它使用了_selectedvalue=“”的第一次初始化,因此我假设TaskTile类无法从set state()获取_selectedvalue=value{}确保在
build
函数之外初始化状态变量(_selectedvalue
)。确保初始化状态变量(\u selectedValue
)在生成
功能之外。
Text('${widget.selectedvalue}')