在Flutter中,可以使用StatefulWidget和State类来实现在状态改变时保留新的TextFormField值。
首先,创建一个StatefulWidget,例如MyFormWidget:
class MyFormWidget extends StatefulWidget {
@override
_MyFormWidgetState createState() => _MyFormWidgetState();
}
然后,在_MyFormWidgetState类中,定义一个变量来保存TextFormField的值,并在状态改变时更新该值:
class _MyFormWidgetState extends State<MyFormWidget> {
String _textValue = '';
@override
Widget build(BuildContext context) {
return TextFormField(
onChanged: (value) {
setState(() {
_textValue = value;
});
},
decoration: InputDecoration(
labelText: 'Enter a value',
),
);
}
}
在上述代码中,我们使用了onChanged回调来监听TextFormField的值变化,并通过setState方法更新_textValue变量的值。这样,每当TextFormField的值发生改变时,都会触发build方法重新构建UI,并显示最新的值。
最后,将MyFormWidget添加到你的应用程序中的任何位置,例如在Scaffold的body中:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('My App'),
),
body: MyFormWidget(),
),
);
}
}
这样,当用户在TextFormField中输入文本时,新的值将被保留并显示在界面上。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云数据库(TencentDB)。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云