From b3b19eaea8585b721f7416276d7b82dab587993f Mon Sep 17 00:00:00 2001 From: zflyluo Date: Tue, 17 Dec 2024 17:29:27 +0800 Subject: [PATCH] =?UTF-8?q?demo=E5=A2=9E=E5=8A=A0=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tdesign-component/example/lib/home.dart | 17 ++++++++++++++++- .../src/components/search/td_search_bar.dart | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/tdesign-component/example/lib/home.dart b/tdesign-component/example/lib/home.dart index e28808419..258f7a0dc 100644 --- a/tdesign-component/example/lib/home.dart +++ b/tdesign-component/example/lib/home.dart @@ -35,6 +35,7 @@ class MyHomePage extends StatefulWidget { class _MyHomePageState extends State { bool useConch = false; + String searchText = ''; @override void initState() { @@ -108,7 +109,8 @@ class _MyHomePageState extends State { return const web.WebMainBody(); } return SafeArea( - child: Center( + child: Align( + alignment: Alignment.topCenter, child: SingleChildScrollView( child: Column( mainAxisAlignment: MainAxisAlignment.center, @@ -160,6 +162,15 @@ class _MyHomePageState extends State { ), )); + children.add(TDSearchBar( + placeHolder: '请输入组件名称', + onTextChanged: (value){ + setState(() { + searchText = value; + }); + }, + )); + exampleMap.forEach((key, value) { children.add(Container( alignment: Alignment.topLeft, @@ -174,6 +185,10 @@ class _MyHomePageState extends State { ), )); value.forEach((model) { + if(searchText.isNotEmpty && !model.text.toLowerCase().contains(searchText.toLowerCase())){ + // 如果有搜索文案,不再搜索中的组件不展示 + return; + } model.spline = WebMdTool.getSpline(key); if (model.isTodo) { if (_kShowTodoComponent) { diff --git a/tdesign-component/lib/src/components/search/td_search_bar.dart b/tdesign-component/lib/src/components/search/td_search_bar.dart index 0db63dc11..2fcb91986 100644 --- a/tdesign-component/lib/src/components/search/td_search_bar.dart +++ b/tdesign-component/lib/src/components/search/td_search_bar.dart @@ -483,7 +483,7 @@ class _TDSearchBarState extends State maxWidth: box.maxWidth - 51, ), child: TDText( - widget.placeHolder, + widget.placeHolder ?? '', font: getSize(context), textColor: TDTheme.of(context).fontGyColor3, maxLines: 1,