如何解决如何在文本字段颤动中获得价值
如何在文本字段中输入值? 我有从 api 获得的值,即名称数据 在这里我编辑数据,然后想更新数据的内容。 但如果不编辑数据,我仍然对初始化数据感到困惑
我附上代码:
class ProfileData extends StatefulWidget {
@override
_ProfileDataState createState() => _ProfileDataState();
}
class _ProfileDataState extends State<ProfileData> {
TextEditingController fnameController = TextEditingController(text: '');
bool isLoading = false;
@override
Widget build(BuildContext context) {
UserProvider user = Provider.of<UserProvider>(context);
//here i call api using provider,if I print it will produce a value which is a name 'alu card',ex : user.user.fname -> value('alu card')
handleSubmit() async {
setState(() {
isLoading = true;
});
if (await user.submit( //method put to service
fname: fnameController.text,)) {
Navigator.pushNamed(context,'/main');
} else {
print('err');
}
setState(() {
isLoading = false;
});
}
Widget input() {
return Container(
child: Column(
children: [
Expanded(
child: TextFormField(
style: blackTextStyle,controller: fnameController,decoration: InputDecoration.collapsed(
hintText: user.user.fname,// this value 'alucard'
hintStyle: blackTextStyle,),))
],);
....... //widget button submit
.......
onpress : handleSubmit
}
return Scaffold(
backgroundColor: Colors.white,body: input(),);
}
}
解决方法
试试下面的答案我添加了一行以获得文本字段的价值
class _ProfileDataState extends State<ProfileData> {
TextEditingController fnameController = TextEditingController(text: '');
bool isLoading = false;
@override
Widget build(BuildContext context) {
UserProvider user = Provider.of<UserProvider>(context);
fnameController.text = user.user.fname // Added this line here.
handleSubmit() async {
setState(() {
isLoading = true;
});
if (await user.submit( //method put to service
fname: fnameController.text,)) {
Navigator.pushNamed(context,'/main');
} else {
print('err');
}
setState(() {
isLoading = false;
});
}
Widget input() {
return Container(
child: Column(
children: [
Expanded(
child: TextFormField(
style: blackTextStyle,controller: fnameController,decoration: InputDecoration.collapsed(
hintText: user.user.fname,// this value 'alucard'
hintStyle: blackTextStyle,),))
],);
....... //widget button submit
.......
onpress : handleSubmit
}
return Scaffold(
backgroundColor: Colors.white,body: input(),);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。