未为类型 'Object' 定义运算符“[]”。尝试定义运算符 '[]' streambuilder
The operator '[]' isn't defined for the type 'Object'. Try defining the operator '[]' streambuilder
StreamBuilder<QuerySnapshot>(
stream: catatan.snapshots(),
builder: (_, snapshot) {
if (snapshot.hasData) {
return Column(
children: snapshot.data.docs.map((e) =>
Data(e.data()['judul'], e.data()['isi']))
.toList(),
);
} else {
return Text('Data Kosong');
}})
我在 ['judul'] 和 ['isi']
中遇到错误
错误信息:
未为类型 'Object' 定义运算符“[]”。
尝试定义运算符“[]”。
你们能帮帮我吗:)
将您的数据输入 Map<String, dynamic>
参考例子:
StreamBuilder<QuerySnapshot>(
stream: catatan.snapshots(),
builder: (BuildContext context,
AsyncSnapshot<QuerySnapshot> chatSnapshot) {
if (chatSnapshot.connectionState == ConnectionState.waiting) {
return Center(
child: Container(),
);
}
return ListView(
controller: _controller,
physics: const BouncingScrollPhysics(),
children:
chatSnapshot.data!.docs.map((DocumentSnapshot document) {
Map<String, dynamic> data =
document.data()! as Map<String, dynamic>;
return Text(data['judul'])
}).toList(),
);
},
),
您要使用的 data['key']
运算符仅适用于 Map<String, dynamic>
类型变量。但是,如果未键入,方法 data()
将 return 类型为 Object
.
的对象
您必须这样转换结果:
snapshot.data.docs.map<Widget>((e) {
final data = e.data() as Map<String, dynamic>;
return Data(data['judul'], data['isi']);
}).toList();
StreamBuilder<QuerySnapshot>(
stream: catatan.snapshots(),
builder: (_, snapshot) {
if (snapshot.hasData) {
return Column(
children: snapshot.data.docs.map((e) =>
Data(e.data()['judul'], e.data()['isi']))
.toList(),
);
} else {
return Text('Data Kosong');
}})
我在 ['judul'] 和 ['isi']
中遇到错误错误信息: 未为类型 'Object' 定义运算符“[]”。 尝试定义运算符“[]”。
你们能帮帮我吗:)
将您的数据输入 Map<String, dynamic>
参考例子:
StreamBuilder<QuerySnapshot>(
stream: catatan.snapshots(),
builder: (BuildContext context,
AsyncSnapshot<QuerySnapshot> chatSnapshot) {
if (chatSnapshot.connectionState == ConnectionState.waiting) {
return Center(
child: Container(),
);
}
return ListView(
controller: _controller,
physics: const BouncingScrollPhysics(),
children:
chatSnapshot.data!.docs.map((DocumentSnapshot document) {
Map<String, dynamic> data =
document.data()! as Map<String, dynamic>;
return Text(data['judul'])
}).toList(),
);
},
),
您要使用的 data['key']
运算符仅适用于 Map<String, dynamic>
类型变量。但是,如果未键入,方法 data()
将 return 类型为 Object
.
您必须这样转换结果:
snapshot.data.docs.map<Widget>((e) {
final data = e.data() as Map<String, dynamic>;
return Data(data['judul'], data['isi']);
}).toList();