Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'package:flutter/material.dart';
- import 'package:cloud_firestore/cloud_firestore.dart';
- class searchScreen extends StatefulWidget {
- const searchScreen({Key? key}) : super(key: key);
- @override
- _searchScreenState createState() => _searchScreenState();
- }
- class _searchScreenState extends State<searchScreen> {
- String? searchKey;
- Stream? streamQuery;
- TextEditingController searchTextEditingController = TextEditingController();
- DatabaseMethods databaseMethods = DatabaseMethods();
- QuerySnapshot? searchResultSnapshot;
- bool isLoading = false;
- bool haveUserSearched = false;
- initiateSearch() async {
- if (searchTextEditingController.text.isNotEmpty) {
- print(searchTextEditingController.text);
- setState(() {
- isLoading = true;
- });
- await databaseMethods
- .searchByName(searchTextEditingController.text)
- .then((snapshot) {
- searchResultSnapshot = snapshot;
- print("$searchResultSnapshot");
- setState(() {
- isLoading = false;
- haveUserSearched = true;
- });
- });
- }
- }
- Widget searchList() {
- return haveUserSearched
- ? ListView.builder(
- itemCount: searchResultSnapshot!.docs.length,
- itemBuilder: (context, index) {
- return SearchTile(
- userName: (searchResultSnapshot!.docs[index].data()
- as dynamic)["name"],
- userEmail: (searchResultSnapshot!.docs[index].data()
- as dynamic)["email"],
- );
- })
- : Container();
- }
- @override
- void initState() {
- // TODO: implement initState
- super.initState();
- // searchResultSnapshot;
- initiateSearch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement