From e910f5b7e7ed878b917f56637ceae780d3a3be14 Mon Sep 17 00:00:00 2001 From: guozhigq Date: Wed, 3 Jan 2024 23:50:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=90=9C=E7=B4=A2=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E4=B8=BAnull=E6=97=B6=E9=A1=B5=E9=9D=A2=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/searchPanel/view.dart | 62 ++++++++++++++++++++------------- 1 file changed, 37 insertions(+), 25 deletions(-) diff --git a/lib/pages/searchPanel/view.dart b/lib/pages/searchPanel/view.dart index 277b29f7..f7392c88 100644 --- a/lib/pages/searchPanel/view.dart +++ b/lib/pages/searchPanel/view.dart @@ -74,36 +74,48 @@ class _SearchPanelState extends State future: _futureBuilderFuture, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { - Map data = snapshot.data; - var ctr = _searchPanelController; - RxList list = ctr.resultList; - if (data['status']) { - return Obx(() { - switch (widget.searchType) { - case SearchType.video: - return SearchVideoPanel( - ctr: _searchPanelController, - // ignore: invalid_use_of_protected_member - list: list.value, - ); - case SearchType.media_bangumi: - return searchMbangumiPanel(context, ctr, list); - case SearchType.bili_user: - return searchUserPanel(context, ctr, list); - case SearchType.live_room: - return searchLivePanel(context, ctr, list); - case SearchType.article: - return searchArticlePanel(context, ctr, list); - default: - return const SizedBox(); - } - }); + if (snapshot.data != null) { + Map data = snapshot.data; + var ctr = _searchPanelController; + RxList list = ctr.resultList; + if (data['status']) { + return Obx(() { + switch (widget.searchType) { + case SearchType.video: + return SearchVideoPanel( + ctr: _searchPanelController, + // ignore: invalid_use_of_protected_member + list: list.value, + ); + case SearchType.media_bangumi: + return searchMbangumiPanel(context, ctr, list); + case SearchType.bili_user: + return searchUserPanel(context, ctr, list); + case SearchType.live_room: + return searchLivePanel(context, ctr, list); + case SearchType.article: + return searchArticlePanel(context, ctr, list); + default: + return const SizedBox(); + } + }); + } else { + return CustomScrollView( + physics: const NeverScrollableScrollPhysics(), + slivers: [ + HttpError( + errMsg: data['msg'], + fn: () => setState(() {}), + ), + ], + ); + } } else { return CustomScrollView( physics: const NeverScrollableScrollPhysics(), slivers: [ HttpError( - errMsg: data['msg'], + errMsg: '没有相关数据', fn: () => setState(() {}), ), ],