패키지, 저장소 및 앱 카테고리 검색

패키지 상세v1.0.2

search_widget

데이터 목록에서 옵션을 선택하기 위한 검색 위젯을 제공하는 플러터 패키지입니다.

30일 다운로드
61
좋아요
144
Pub 점수
40

패키지 설치

flutter pub add search_widget

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

데이터 목록에서 옵션을 선택하기 위한 사용자 정의 가능한 검색 위젯을 제공하는 플러터 패키지입니다. 동적으로 항목을 필터링하고 선택할 수 있는 직관적인 인터페이스를 제공하여 검색 기능 구현을 단순화합니다. 대규모 데이터 세트에 빠르게 접근해야 하는 앱에 적합하며, 실시간 필터링을 지원하고 기존 UI에 원활하게 통합됩니다. 경량이며 개발자 경험을 중심으로 설계되었습니다.

사용 사례

  • 양식에서 대규모 데이터셋 필터링
  • 사용자 목록 검색
  • 빠른 선택 드롭다운 구현
  • 검색 가능한 메뉴를 통한 탐색 개선
  • 동적 자동 완성 기능 구축

주요 기능

  • 실시간 검색 필터링
  • 사용자 정의 가능한 UI 구성 요소
  • 기존 위젯과의 간편한 통합
  • 비동기 데이터 소스를 지원합니다
  • 가볍고 성능이 뛰어남

적합한 대상

  • 데이터 중심 앱을 개발하는 개발자
  • 검색 가능한 드롭다운이 필요한 앱
  • 동적 콘텐츠 선택을 갖춘 UI
  • 빠른 기능 개발을 우선시하는 팀
  • 최소한의 보일러플레이트가 필요한 프로젝트

고려 사항

  • 제한된 플랫폼별 사용자 정의
  • 대규모 데이터 세트에 내장된 페이지네이션이 없음
  • 로딩 상태를 수동으로 처리해야 합니다
  • 배치 없이 매우 큰 데이터 세트에 최적화되지 않음
  • 외부 데이터 소스 관리에 의존

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

Search Widget Cirrus CI - Base Branch Build Status GitHub stars Twitter Follow GitHub last commit Website shields.io Open Source Love style: effective dart

This Flutter package provides a Search Widget for selecting an option from a data list. Provides filtering of items based on the search text.

PieChart

💻 Installation

In the dependencies: section of your pubspec.yaml, add the following line:

Version

dependencies:
  search_widget: <latest version>

❔ Usage

Import this class
import 'package:search_widget/search_widget.dart';
Add Search Widget
  • Accepts data list as input
  • Option for getting selected item. Returns selected item or null if item is deleted
onItemSelected: (item) {
    //Do whatever you would like
    setState(() {
       _selectedItem = item;
    });
 },
  • Option for pop list item builder. This basically returns a widget to show as list item in popup
popupListItemBuilder: (LeaderBoard item) {
   return PopupListItem(item);
 }
  • Option for filtering data list based on search query
queryBuilder: (String query, List<LeaderBoard> list) {
   return list.where((LeaderBoard item) => item.username.toLowerCase().contains(query.toLowerCase())).toList();
 }
  • Option provided for selected list item builder which enables when a user selects an item from pop up list
selectedItemBuilder: (LeaderBoard selectedItem, deleteSelectedItem) {
   return SelectedItem(selectedItem,deleteSelectedItem);
 }
  • Option for providing custom TextField. Accepts TextEditingController and FocusNode as parameter
textFieldBuilder: (TextEditingController controller, FocusNode focusNode) {
    return TextField(
        controller: controller,
        focusNode: focusNode,
        //... Other customizations here
       );
  },
Full Implementation
SearchWidget<LeaderBoard>(
   dataList: list,
   hideSearchBoxWhenItemSelected: false,
   listContainerHeight: MediaQuery.of(context).size.height / 4,
   queryBuilder: (String query, List<LeaderBoard> list) {
     return list.where((LeaderBoard item) => item.username.toLowerCase().contains(query.toLowerCase())).toList();
   },
   popupListItemBuilder: (LeaderBoard item) {
     return PopupListItemWidget(item);
   },
   selectedItemBuilder: (LeaderBoard selectedItem, VoidCallback deleteSelectedItem) {
     return SelectedItemWidget(selectedItem, deleteSelectedItem);
   },
   // widget customization
   noItemsFoundWidget: NoItemsFound(),
   textFieldBuilder: (TextEditingController controller, FocusNode focusNode) {
     return MyTextField(controller, focusNode);
   },
 )
Key Highlights
  • Adaptive Popup Position to prevent popup getting hidden behind keyboard

PieChart PieChart

  • Popup to scroll with scroll gesture if this widget is used inside ScrollView
PieChart

TODO

  • [X] Give support for onItemSelected method to return selected item(s) directly
  • [ ] Add support for selecting multiple items
  • [ ] Add visibility bool to show selected item widget

⭐ My Flutter Packages

  • pie_chart GitHub stars Flutter Pie Chart with cool animation.
  • avatar_glow GitHub stars Flutter Avatar Glow Widget with glowing animation.
  • json_table GitHub stars Create Flutter Json Table from json map directly.
  • animating_location_pin GitHub stars Flutter Animating Location Pin Widget providing Animating Location Pin Widget which can be used while fetching device location.

⭐ My Flutter Apps

👍 Contribution

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -m 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

카테고리

의존성

의존성 목록 1 개

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.