如何解决我正在尝试提供程序,它接缝一切正常,但textField文本未在我的文本小部件中更新
我正在练习国家管理。我正在尝试将我的textField(第一类)更新为Second()类中的TextWidget。我不知道我在这里遇到了什么问题?
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider<Data>(
create: (context) => Data(),child: MaterialApp(
home: First(),),);
}
}
我的头等舱
class First extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [
TextField(
onChanged: (value) {
Provider.of<Data>(context).changeString(value);
},Second(),],}
第二等人
class Second extends StatelessWidget {
@override
Widget build(BuildContext context) {
return
Text(
Provider.of<Data>(context).text,);
}
}
扩展了ChangeNotifier的我的数据类
class Data extends ChangeNotifier {
String text = 'Type Something';
void changeString(String newText) {
text = newText;
notifyListeners();
}
}
解决方法
添加使用者以使用新数据重建小部件。
Consumer<Data>(
builder: (context,value,_) => Text(
Provider.of<Data>(context).text,);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。