【发布时间】:2021-04-17 12:20:22
【问题描述】:
在我的应用程序中,我想从 firebase 检索当前用户的全名,并希望将其显示在 TextField 中,该名称基本上放置在 App Bar 中,而 TextField 中的半名显示以省略号结尾。 我们可以在 Text 中使用省略号,但如何在 TextField 中使用。
这是我的代码:
class _HomePageState extends State<HomeTab> {
User user = FirebaseAuth.instance.currentUser;
DatabaseReference dbRef = FirebaseDatabase.instance.reference();
TextEditingController NameController = TextEditingController();
@override
void initState() {
super.initState();
getData();
}
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
appBar: AppBar(
elevation: 1,
backgroundColor: Colors.white,
brightness: Brightness.light,
leading: Padding(
padding: const EdgeInsets.all(0.0),
child: Image.asset(
"assets/images/logo.png",
height: 300,
width: 300,
),
),
actions: <Widget>[
Container(
child: TextField(
controller: NameController,
enabled: false,
decoration: InputDecoration(
border: InputBorder.none,
isDense: true,
contentPadding: EdgeInsets.all(5),
),
style: TextStyle(fontSize: 22, color: Colors.black),
// overflow: TextOverflow.ellipsis,
textAlign: TextAlign.center,
),
)
],
),
void getData() {
dbRef.child('Users').child(user.uid).once().then((DataSnapshot snapshot) {
print('Data : ${snapshot.value}');
setState(() {
var name = snapshot.value['name'];
NameController.text = name;
});
});
}
}
当我使用此代码时出现此错误:
════════渲染库捕获的异常═════════════════════════════╕ ══ RenderBox 未布置:RenderRepaintBoundary#10696 NEEDS-LAYOUT NEEDS-PAINT 'package:flutter/src/rendering/box.dart': 断言失败:第 1940 行第 12 行:'hasSize' 相关的导致错误的小部件是 文本字段
【问题讨论】: