Flutter 颤振/飞镖重建状态窗口小部件
我有以下问题。在包含文本字段的有状态小部件(1)中,调用有状态小部件(2),输出文本。如果在有状态小部件(1)中创建了条目,则有状态小部件(2)应输出当前文本。(所以它必须更新) 下面是我的示例代码,不幸的是它不起作用:Flutter 颤振/飞镖重建状态窗口小部件,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,我有以下问题。在包含文本字段的有状态小部件(1)中,调用有状态小部件(2),输出文本。如果在有状态小部件(1)中创建了条目,则有状态小部件(2)应输出当前文本。(所以它必须更新) 下面是我的示例代码,不幸的是它不起作用: class _TexfildState extends State<Texfild> { String text; @override Widget build(BuildContext context) { return Column
class _TexfildState extends State<Texfild> {
String text;
@override
Widget build(BuildContext context) {
return Column(
children: <Widget>[
TextField(
onChanged: (str){
setState(() {
text = str;
});
},
),
Textprint(text) //This widget should reload if str changes!
],
);
}
}
class Textprint extends StatefulWidget {
@override
final String textprint;
Textprint(this.textprint);
_TextprintState createState() => _TextprintState();
}
class _TextprintState extends State<Textprint> {
@override
Widget build(BuildContext context) {
return Container(
child: Text(widget.textprint),
);
}
}
类_TexfildState扩展状态{
字符串文本;
@凌驾
小部件构建(构建上下文){
返回列(
儿童:[
文本字段(
一旦更改:(str){
设置状态(){
text=str;
});
},
),
Textprint(text)//如果str改变,这个小部件应该重新加载!
],
);
}
}
类Textprint扩展StatefulWidget{
@凌驾
最终字符串文本打印;
Textprint(this.Textprint);
_TextprintState createState()=>\u TextprintState();
}
类_TextprintState扩展状态{
@凌驾
小部件构建(构建上下文){
返回容器(
子项:文本(widget.textprint),
);
}
}
您需要做的是用值或所谓的空字符串初始化文本。因为TextPrint小部件无法接收空字符串
String text = '';
尝试打印控制台
小部件。textprint
值位于\u TextprintState
的构建中。它是否在TextField
的值更改时调用?