json - 错误:尝试构建导航时 Dart 中未定义的名称“小部件”
问题描述
有人能帮我吗?这里有 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!)
尽管您应该考虑使用!
. 这里不应该是必要的。
推荐阅读
- java - Memcached 错误:管道损坏/对等方重置连接
- odoo - xml 记录 Ir.rule AssertionError: Element odoo has extra content: 记录
- python - confluent_kafka消费者偏移计数重置问题
- android - 以下元数据的值是多少,它是如何设置的?
- gzip - 如果 Html 文件小于 16KB,是否真的有必要对我的 Html 文件实施 Gzip?
- python - 如何在 Python Pandas 中将 unix 时间戳转换为日期时间
- javascript - Django包含使用Javascript的模板
- go - 为什么 RabbitMQ 在不使用时连接不会保持打开状态?
- thingsboard - Thingsboard PE:Cassandra 到 PostgreSQL
- image - 无法从项目文件夹中渲染图像