我正在尝试访问_UpdateNotesState中的代码中声明的'updateNotesModel'变量。我发现您可以使用“ widget”关键字来做到这一点,如下面的脚手架所示。但是这里的问题是我试图在build方法之外访问变量,以便为TextEditingController提供默认值。我该如何实现?
class UpdateNotes extends StatefulWidget {
final NotesModel updateNotesModel;
UpdateNotes({Key key, this.updateNotesModel}): super(key: key);
@override
_UpdateNotesState createState() => _UpdateNotesState();
}
class _UpdateNotesState extends State<UpdateNotes> {
TextEditingController _titleController =
new TextEditingController(text: widget.updateNotesModel.someValue); //getting an error
}
@override
Widget build(BuildContext context) {
return Scaffold(
var a = widget.updateNotesModel.someValue
.
.
.
)
}
}
答案 0 :(得分:0)
您可以在initState
中进行操作:
class _UpdateNotesState extends State<UpdateNotes> {
TextEditingController _titleController = new TextEditingController();
@override
void initState() {
_titleController.text= widget.updateNotesModel.someValue;
super.initState();
}
}