此查询没有正确执行 if 语句,因此即使应该执行,它也不会执行 else 语句 (它只是执行“确认”,即使应该执行,也不执行“通过不正确”)
StreamBuilder(
stream: FirebaseFirestore.instance
.collection('Invetatons').where('pin',isEqualTo: widget.npasscode)
.snapshots(),
builder:
(BuildContext context, AsyncSnapshot snapshot) {
if (!snapshot.hasData ) {
return Center(
child: CircularProgressIndicator(),
);
} else {
var qr = snapshot.data.docs;
return ListView.builder (
physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true,
scrollDirection: Axis.vertical,
itemCount: snapshot.data.docs.length,
itemBuilder: (BuildContext context, int index) {
if(qr[index]['pin'] == widget.npasscode){
return Text('Confirm');}
if(qr[index]['pin'] != widget.npasscode){
return Text(' Pass not correct'); }
}
);
}})
答案 0 :(得分:0)
您查询错误。您正在尝试仅查询 pin
等于 widget.npasscode
的那些文档。请删除查询,您将获得所需的功能。
StreamBuilder(
stream: FirebaseFirestore.instance
.collection('Invetatons').where('pin',isEqualTo: widget.npasscode)
.snapshots(),
builder:
(BuildContext context, AsyncSnapshot snapshot) {
if (!snapshot.hasData ) {
return Center(
child: CircularProgressIndicator(),
);
} else {
var qr = snapshot.data.docs;
if(qr.length==0){
return Text(' Pass not correct');
}
return ListView.builder (
physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true,
scrollDirection: Axis.vertical,
itemCount: snapshot.data.docs.length,
itemBuilder: (BuildContext context, int index) {
if(qr[index]['pin'] == widget.npasscode){
return Text('Confirm');}
}
);
}})