gpt4 book ai didi

firebase - 如何在 Cloud FireStore 的 TextFormField 中提供 initialValue

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

我正在尝试通过表单更新云 Firestore 中的数据。我需要在 TextFormField 中将已存储在 firestore 中的字段显示为 initialValue。

获取的数据由 print() 打印在控制台上,但它在 TextFormField 中不显示任何内容。

initialValue 与我用于 print() 的代码行相同。

数据也被正确获取。

这是代码:

var initData = {
'title': '',
};

void didChangeDependencies() async{
super.didChangeDependencies();
await Firestore.instance
.collection('${widget.collection}')
.document('${widget.title}')
.get()
.then((value) {
setState(() {
initData = {
'title': value.data['title'],
};
});
});

if (isValid) {
_formKey.currentState
.save();
}
widget.submitFn(
_title,)
}

@override
Widget build(BuildContext context) {

print(initData['title']); // the fetched data is printed in the console

return Form(
key: _formKey,
Column(
children: <Widget>[
TextFormField(
initialValue: initData['title'], // this doesnt show anything on the TextFormField,
decoration: InputDecoration(
labelText: 'Enter Product Name',
contentPadding: EdgeInsets.all(5)),
validator: (value) {
if (value.isEmpty) {
return 'Enter a the Product Title';
}
return null;
},
onSaved: (value) {
_title = value;
},
),
),
),
}

最佳答案

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
TextEditingController controller;
@override
void initState() {
// TODO: implement initState
super.initState();
controller = TextEditingController();
controller.text = "hiii"; //Here you can provide a default value when your app starts.
controller.addListener(() {
print(controller.text);
});
}

@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: SafeArea(
child: Center(
child: Form(
child: TextField(
controller: controller,
),
),
),
),
),
);
}
}

关于firebase - 如何在 Cloud FireStore 的 TextFormField 中提供 initialValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61921429/

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