Advertisement
Guest User

Untitled

a guest
Nov 13th, 2021
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. import 'package:flutter/material.dart';
  2. import 'package:cloud_firestore/cloud_firestore.dart';
  3.  
  4. class searchScreen extends StatefulWidget {
  5. const searchScreen({Key? key}) : super(key: key);
  6.  
  7. @override
  8. _searchScreenState createState() => _searchScreenState();
  9. }
  10.  
  11. class _searchScreenState extends State<searchScreen> {
  12. String? searchKey;
  13. Stream? streamQuery;
  14.  
  15. TextEditingController searchTextEditingController = TextEditingController();
  16. DatabaseMethods databaseMethods = DatabaseMethods();
  17. QuerySnapshot? searchResultSnapshot;
  18.  
  19. bool isLoading = false;
  20. bool haveUserSearched = false;
  21.  
  22. initiateSearch() async {
  23. if (searchTextEditingController.text.isNotEmpty) {
  24. print(searchTextEditingController.text);
  25. setState(() {
  26. isLoading = true;
  27. });
  28. await databaseMethods
  29. .searchByName(searchTextEditingController.text)
  30. .then((snapshot) {
  31. searchResultSnapshot = snapshot;
  32. print("$searchResultSnapshot");
  33. setState(() {
  34. isLoading = false;
  35. haveUserSearched = true;
  36. });
  37. });
  38. }
  39. }
  40.  
  41. Widget searchList() {
  42. return haveUserSearched
  43. ? ListView.builder(
  44. itemCount: searchResultSnapshot!.docs.length,
  45. itemBuilder: (context, index) {
  46. return SearchTile(
  47. userName: (searchResultSnapshot!.docs[index].data()
  48. as dynamic)["name"],
  49. userEmail: (searchResultSnapshot!.docs[index].data()
  50. as dynamic)["email"],
  51. );
  52. })
  53. : Container();
  54. }
  55.  
  56. @override
  57. void initState() {
  58. // TODO: implement initState
  59. super.initState();
  60. // searchResultSnapshot;
  61. initiateSearch();
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement