fix: 搜索结果为null时页面异常

This commit is contained in:
guozhigq
2024-01-03 23:50:38 +08:00
parent 6591d35c74
commit e910f5b7e7

View File

@ -74,36 +74,48 @@ class _SearchPanelState extends State<SearchPanel>
future: _futureBuilderFuture, future: _futureBuilderFuture,
builder: (context, snapshot) { builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) { if (snapshot.connectionState == ConnectionState.done) {
Map data = snapshot.data; if (snapshot.data != null) {
var ctr = _searchPanelController; Map data = snapshot.data;
RxList list = ctr.resultList; var ctr = _searchPanelController;
if (data['status']) { RxList list = ctr.resultList;
return Obx(() { if (data['status']) {
switch (widget.searchType) { return Obx(() {
case SearchType.video: switch (widget.searchType) {
return SearchVideoPanel( case SearchType.video:
ctr: _searchPanelController, return SearchVideoPanel(
// ignore: invalid_use_of_protected_member ctr: _searchPanelController,
list: list.value, // ignore: invalid_use_of_protected_member
); list: list.value,
case SearchType.media_bangumi: );
return searchMbangumiPanel(context, ctr, list); case SearchType.media_bangumi:
case SearchType.bili_user: return searchMbangumiPanel(context, ctr, list);
return searchUserPanel(context, ctr, list); case SearchType.bili_user:
case SearchType.live_room: return searchUserPanel(context, ctr, list);
return searchLivePanel(context, ctr, list); case SearchType.live_room:
case SearchType.article: return searchLivePanel(context, ctr, list);
return searchArticlePanel(context, ctr, list); case SearchType.article:
default: return searchArticlePanel(context, ctr, list);
return const SizedBox(); default:
} return const SizedBox();
}); }
});
} else {
return CustomScrollView(
physics: const NeverScrollableScrollPhysics(),
slivers: [
HttpError(
errMsg: data['msg'],
fn: () => setState(() {}),
),
],
);
}
} else { } else {
return CustomScrollView( return CustomScrollView(
physics: const NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
slivers: [ slivers: [
HttpError( HttpError(
errMsg: data['msg'], errMsg: '没有相关数据',
fn: () => setState(() {}), fn: () => setState(() {}),
), ),
], ],