有人能帮我吗?这里是 Flutter 的新手。
我有这个:
class SecondRoute extends StatelessWidget {
final Place? place;
const SecondRoute({Key? key, this.place}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Second Route"),
),
body: Center(
child: ElevatedButton(
onPressed: () {
Navigator.pop(context);
},
child: Text(widget.place!.text!),
),
),
);
}
和:
class PlaceDetail extends StatefulWidget {
final Place? place;
PlaceDetail({Key? key, this.place}) : super(key: key);
@override
_PlaceDetailState createState() {
return _PlaceDetailState();
}
}
我可以成功导航到下一页,但问题出在这部分:
child: Text(widget.place!.text!)
我正在尝试显示我使用 JSON 获取的一些内容。在不同的小部件中,特定的 widget.place!.text!就像一个魅力,但在这个类和小部件中,我无法让它工作,因此我收到错误:
error: Undefined name 'widget'
如果我将其扩展到 State ,则会收到错误消息:
error: The return type 'SecondRoute' isn't a 'Widget'
我试图按照这里的文档进行操作:https : //flutter.dev/docs/cookbook/navigation/navigation-basics
正如我所提到的,导航本身可以工作,但是尝试从小部件中的 JSON 获取数据时出现错误。
编辑:
Text(${place?.text!}")
以上给了我NULL。我是否有机会将此变量发送到新页面/屏幕而不给我 NULL 值?
child: Text(widget.place!.text!)
应该
child: Text(this.place!.text!)
或者干脆
child: Text(place!.text!)
尽管您应该考虑使用!
. 这应该不会是neccessary这里。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句