gpt4 book ai didi

flutter - Flutter: future builder 不会更新表单值

转载 作者:行者123 更新时间:2023-12-03 03:49:20 26 4
gpt4 key购买 nike

使用Future构建器,能够在页面加载时填充表单字段的先前保存的值。
但是,当快照为null时,它必须显示空表格
当表单具有一些初始值时,以下代码可以正常工作

     Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
body: Container(
height: MediaQuery.of(context).size.height,
child:FutureBuilder(
future: _getPersonalInfoFormInitialValue(),
builder: (context, snapshot) => snapshot.hasData ? buildFormBuilder(context, snapshot.data) : Center(child: Text('Loading .....')),
),
),
),
);

}
当snapshot.data为null时,此代码工作正常,按预期显示空格式
FutureBuilder(
future: _getPersonalInfoFormInitialValue(),
builder: (context, snapshot) => buildFormBuilder(context, snapshot.data) ,
),
因此,我将两者结合起来,使该表格适用于所有情况,因为,
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
body: Container(
height: MediaQuery.of(context).size.height,
child:FutureBuilder(
future: _getPersonalInfoFormInitialValue(),
builder: (context, snapshot) => snapshot.hasData ? buildFormBuilder(context, snapshot.data) : buildFormBuilder(context, null) ,
),
),
),
);
}
buildFormBuilder方法:
FormBuilder buildFormBuilder(BuildContext context, data) {
return FormBuilder(
key: _personalDetailFormKey,
initialValue: data ?? {},
autovalidate: true,
child: Stack(
children: <Widget>[
.........
_submitButton(() {
_submitPersonalDetailInfoForm();
}, 'Submit'),
],
),
);
}
_getPersonalInfoFormInitialValue
_getPersonalInfoFormInitialValue() async {
return _personalInfo!=null ? _personalInfo.toPersonalInfoMap() : null;
}
所以现在,在两种情况下,它都只显示表单的空白字段。尽管snapshot.data具有值,但未填充到表单字段中。
我已经尝试过使用Future.delayed(const Duration(seconds:10),(){});仍然面临问题。
某处出现问题,无法识别,任何帮助表示赞赏!谢谢

最佳答案

可能是因为FutureBuilder不是 child :

FutureBuilder(
future: _getPersonalInfoFormInitialValue(),
builder: (context, snapshot) => buildFormBuilder(context, snapshot.data) ,
),
也许这是可行的,因为Futurebuilder不是 child ,而在下一个 child 中,它是:
child :FutureBuilder

关于flutter - Flutter: future builder 不会更新表单值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64134505/

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