Flutter问题:滚动陷入异常循环
问题:ListView条目删除后滚动陷入异常循环
我的页面包含一个ListView,每个列表项均由StreamBuilder包裹,用于检测该条目是否已被删除:若条目已删除则显示SizedBox,否则显示正常列表项。但当条目被删除后,尝试滚动列表时会停在同一位置,陷入异常循环。该问题在iPhone真机的TestFlight版本及App Store版本中均会出现,暂未在Android设备上测试。
相关代码如下:
ListView.builder( // primary: false, shrinkWrap: true, itemCount: upcomingEventsList?.length, keyboardDismissBehavior: ScrollViewKeyboardDismissBehavior.onDrag, itemBuilder: (context, listViewIndex) { var listViewEventsRecord = upcomingEventsList![listViewIndex]; return StreamBuilder<DocumentSnapshot>( key: ValueKey(listViewEventsRecord.reference.id), stream: firestore .doc(listViewEventsRecord.reference.path) .snapshots(), builder: (context, snapshot) { if (snapshot.hasData && (!snapshot.data!.exists)) return SizedBox.shrink(); listViewEventsRecord = snapshot.hasData ? EventsRecord.fromSnapshot(snapshot.data!) : listViewEventsRecord; return FFAppState().isGridView ? EventListBiggerWidget( key: Key( 'Keygib_${listViewEventsRecord.reference.id}', ), event: listViewEventsRecord, ) : Padding( padding: const EdgeInsets.fromLTRB( 8, 0, 8, 0), child: EventSmallListPublicWidget( key: Key( 'Keylwy_${listViewEventsRecord.reference.id}', ), event: listViewEventsRecord, ), ); }); }, ),
目前已录制问题演示视频,并在GitHub提交了该问题。
内容的提问来源于stack exchange,提问作者Karanveer Singh
相关产品推荐
相关产品推荐

