gpt4 book ai didi

dart - 如何在build方法之外的State类中访问有状态的小部件变量?

转载 作者:行者123 更新时间:2023-12-03 04:10:22 24 4
gpt4 key购买 nike

我正在尝试访问_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
.
.
.
)
}
}

最佳答案

您可以使用initState来实现:

class _UpdateNotesState extends State<UpdateNotes> {
TextEditingController _titleController = new TextEditingController();

@override
void initState() {
_titleController.text= widget.updateNotesModel.someValue;
super.initState();
}
}

关于dart - 如何在build方法之外的State类中访问有状态的小部件变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54971210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com