我想创建一个具有带有两个选项卡的TabBarView的应用程序。在第一个选项卡上有一个文本字段,在另一个选项卡上有一个文本小部件,该小部件应显示您输入到文本字段中的文本 但是我总是会因为文本为空而报错。(我是使用flutter编程的新手)
我尝试在TextOutput类中初始化变量,但是由于变量是最终变量,因此无法正常工作。
TabBarView(
children: <Widget>[
TextCreatePage(), TextOutput()
],
class TextCreatePageState extends State<TextCreatePage> {
String textvalue;
@override
Widget build(BuildContext context) {
return Center(child: TextField(
onChanged: (String value) {
setState(() {
textvalue = value;
TextOutput(textvalue: textvalue,);
});
class TextOutput extends StatelessWidget {
final String textvalue;
TextOutput({this.textvalue});
@override
Widget build(BuildContext context) {
return Text(textvalue);
}
}
答案 0 :(得分:3)
因此,对于任何搜索到此并到达此处的人,我正在使用它来管理null字符串变量。
1。显示空文字
String nullText;
//now, inside of your widget build
Text(nullText ?? '');
2。不显示文字小工具
String nullText;
//now, inside of your widget build
if(nullText != null)
Text(nullText);
您也可以这样显示,但这显示空字
String nullText;
//now, inside of your widget build
Text('$nullText');
答案 1 :(得分:0)
从问题中提供的信息尚不清楚,是什么代码导致了错误,但我想这是这一行:
return Text(textvalue);
如果将其更改为
return textvalue != null ? Text(textvalue) : Container();
您的错误应该消失了。