我有一个带有TextField小部件和按钮的简单的无状态小部件。当用户按下按钮时,我需要打印TextField值,因此我将onChanged值分配给了一个名为Title的新字符串。然后,我尝试在调用的onPressed方法中进行打印。但是它返回一个空值。
再次,我尝试使用有状态的小部件,它可以正常工作。 所以我需要知道为什么第1步不能与无状态小部件一起使用
class AddTask extends StatelessWidget {
final Function addTaskCallBack;
AddTask({this.addTaskCallBack});
@override
Widget build(BuildContext context){
String newTaskTitle;
return Container(
height: 500,
color: Color(0xFF757575),
child: Container(
height: 500,
padding: EdgeInsets.all(20),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(20),
topRight: Radius.circular(20),
),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
Text(
'Add Task',
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.lightBlueAccent,
fontSize: 40,
),
),
TextField(
onChanged: (newTitle){
newTaskTitle = newTitle;
},
),
SizedBox(
height: 25,
),
FlatButton(
onPressed: () {
addTaskCallBack(newTaskTitle);
},
padding: EdgeInsets.symmetric(vertical: 08),
color: Colors.lightBlueAccent,
child: Text(
'Add',
style: TextStyle(
fontSize: 20,
color: Colors.white,
fontWeight: FontWeight.w400,
),
),
)
],
),
),
);
}
}