이번 포스트에서는 Equatable 패키지를 활용하여 플러터(Flutter) 앱의 검색 결과를 필터링하는 방법에 대해 알아보겠습니다. Equatable은 객체 비교를 위한 편리한 도구로, 특히 검색 결과 필터링과 같은 상황에서 유용하게 활용될 수 있습니다.
Equatable이란?
Equatable은 Dart 언어에서 두 개의 객체를 비교하는 데 사용되는 패키지입니다. 이 패키지를 사용하면 객체의 내용을 비교하는 메소드를 쉽게 생성할 수 있습니다. 이를 통해 객체의 동등성을 판단하는 과정을 단순화할 수 있습니다.
Equatable 패키지 설치하기
Equatable 패키지를 사용하기 위해, 먼저 pubspec.yaml
파일에 다음과 같이 의존성을 추가합니다.
dependencies:
equatable: ^2.0.2
의존성을 추가한 후에는 터미널에서 flutter pub get
을 실행하여 패키지를 설치합니다.
Equatable을 활용한 검색 결과 필터링
검색 결과를 필터링하기 위해 우선 Equatable을 활용하여 검색 결과 모델 클래스를 만들어보겠습니다.
import 'package:equatable/equatable.dart';
class SearchResult extends Equatable {
final String title;
final String description;
SearchResult({
required this.title,
required this.description,
});
@override
List<Object> get props => [title, description];
}
위의 코드에서는 Equatable 클래스를 상속받은 SearchResult 클래스를 정의하고, Equatable의 props
메소드를 오버라이딩하여 객체의 속성을 정의합니다.
이제 검색 결과를 필터링하는 메소드를 구현해보겠습니다.
List<SearchResult> filterResults(List<SearchResult> results, String filterText) {
return results.where((result) {
return result.title.toLowerCase().contains(filterText.toLowerCase()) ||
result.description.toLowerCase().contains(filterText.toLowerCase());
}).toList();
}
위의 코드에서는 filterResults 메소드를 통해 입력된 검색어(filterText)에 따라 결과를 필터링합니다.
Equatable 패키지를 활용하여 검색 결과를 필터링하였으며, 검색 기능을 향상시키기 위해 Equatable을 적극적으로 활용할 수 있습니다.
Equatable 패키지에 대해 더 알고 싶다면 공식 문서를 참고해보세요.
이상으로 Equatable을 활용하여 플러터 앱의 검색 결과를 필터링하는 방법에 대해 알아보았습니다. 도움이 되었기를 바라며, 감사합니다.
관련 참고자료:
- Equatable 패키지 공식 문서: https://pub.dev/packages/equatable