【发布时间】:2021-03-07 13:37:05
【问题描述】:
我正在尝试在卡片详细信息页面中打印卡片小部件标题,但我收到“必须向文本小部件提供非空字符串”。
关于如何解决此问题的任何建议或帮助?
模型.dart
class Item {
int id;
String title;
Item(
{this.id, this.title });
}
CardWidget.dart
import 'package:maxis_mobile/ui/screens/cardDetails-screen.dart';
import 'cardModel.dart';
class _CardWidgetState extends State<CardWidget> {
final item = Item();
@override
Widget build(BuildContext context) {
return Container(
child: SingleChildScrollView(
child: Card(
child: InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => CardDetails(item: item), //not sure this is right.
));
},
child: Column(children: [
Container(
child: Row(
children: [
Container(
child: Text(
widget.title, // Card Title
),
),
),
CardDetails.dart
import 'package:flutter/material.dart';
import '../shared/cardModel.dart';
class CardDetails extends StatelessWidget {
final Item item;
CardDetails({Key key, @required this.item}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
child: Text(item.title),
);
}
}
DummyData.dart
List<Item> items = [
Item(id: 0, title: '1. US Daily Retail Delivery By Brands'),
]
【问题讨论】:
-
你在哪里使用
_CardWidgetState中的虚拟数据?您在_CardWidgetState中创建了一个 Item 变量,但没有指定标题,这就是您传递给CardDetails屏幕的内容。
标签: flutter dart mobile flutter-layout flutter-animation