diff --git a/lib/ui/views/TIMUIKitSearch/pureUI/tim_uikit_search_empty.dart b/lib/ui/views/TIMUIKitSearch/pureUI/tim_uikit_search_empty.dart new file mode 100644 index 0000000..f15c59b --- /dev/null +++ b/lib/ui/views/TIMUIKitSearch/pureUI/tim_uikit_search_empty.dart @@ -0,0 +1,51 @@ +import 'package:flutter/material.dart'; +import 'package:tencent_cloud_chat_uikit/base_widgets/tim_ui_kit_base.dart'; +import 'package:tencent_cloud_chat_uikit/base_widgets/tim_ui_kit_statelesswidget.dart'; + +class TIMUIKitSearchEmpty extends TIMUIKitStatelessWidget { + final String? keyword; + + TIMUIKitSearchEmpty({Key? key, this.keyword}) : super(key: key); + + @override + Widget tuiBuild(BuildContext context, TUIKitBuildValue value) { + final theme = value.theme; + + return Container( + padding: const EdgeInsets.symmetric(vertical: 60, horizontal: 40), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.inbox_outlined, + size: 64, + color: theme.weakTextColor?.withOpacity(0.5), + ), + const SizedBox(height: 16), + Text( + keyword != null && keyword!.isNotEmpty + ? "未找到与\"$keyword\"相关的内容" + : "暂无搜索结果", + style: TextStyle( + fontSize: 16, + color: theme.weakTextColor, + fontWeight: FontWeight.w500, + ), + textAlign: TextAlign.center, + ), + if (keyword == null || keyword!.isEmpty) ...[ + const SizedBox(height: 8), + Text( + "请输入关键词进行搜索", + style: TextStyle( + fontSize: 14, + color: theme.weakTextColor?.withOpacity(0.7), + ), + textAlign: TextAlign.center, + ), + ], + ], + ), + ); + } +} diff --git a/lib/ui/views/TIMUIKitSearch/tim_uikit_search.dart b/lib/ui/views/TIMUIKitSearch/tim_uikit_search.dart index 8212b72..f12ac1e 100644 --- a/lib/ui/views/TIMUIKitSearch/tim_uikit_search.dart +++ b/lib/ui/views/TIMUIKitSearch/tim_uikit_search.dart @@ -15,8 +15,9 @@ import 'package:tencent_cloud_chat_uikit/data_services/services_locatar.dart'; import 'package:tencent_cloud_chat_uikit/business_logic/view_models/tui_search_view_model.dart'; import 'package:tencent_cloud_chat_uikit/ui/utils/platform.dart'; import 'package:tencent_cloud_chat_uikit/ui/views/TIMUIKitSearch/pureUI/tim_uikit_search_indicator.dart'; -import 'package:tencent_cloud_chat_uikit/ui/views/TIMUIKitSearch/tim_uikit_search_friend.dart'; +import 'package:tencent_cloud_chat_uikit/ui/views/TIMUIKitSearch/pureUI/tim_uikit_search_empty.dart'; import 'package:tencent_cloud_chat_uikit/ui/views/TIMUIKitSearch/pureUI/tim_uikit_search_input.dart'; +import 'package:tencent_cloud_chat_uikit/ui/views/TIMUIKitSearch/tim_uikit_search_friend.dart'; import 'package:tencent_cloud_chat_uikit/ui/views/TIMUIKitSearch/tim_uikit_search_group.dart'; import 'package:tencent_cloud_chat_uikit/ui/views/TIMUIKitSearch/tim_uikit_search_msg.dart'; import 'package:tencent_cloud_chat_uikit/tencent_cloud_chat_uikit.dart'; @@ -119,14 +120,18 @@ class TIMUIKitSearchState extends TIMUIKitState { if ((friendResultList.isEmpty || !(searchTypes.contains(SearchType.contact))) && (groupList.isEmpty || !(searchTypes.contains(SearchType.group))) && (totalMsgCount == 0 || !(searchTypes.contains(SearchType.history)))) - TIMUIKitSearchIndicator( - typeList: searchTypes, - onChange: (list) { - setState(() { - searchTypes = list; - }); - }, - ), + textEditingController.text.isEmpty + ? TIMUIKitSearchIndicator( + typeList: searchTypes, + onChange: (list) { + setState(() { + searchTypes = list; + }); + }, + ) + : TIMUIKitSearchEmpty( + keyword: textEditingController.text, + ), if (searchTypes.contains(SearchType.contact)) TIMUIKitSearchFriend( onTapConversation: (conversation, message) {