簡體   English   中英

如何使 Firestore 搜索結果顯示在 flutter 中?

[英]How to make firestore search results display in flutter?

我正在嘗試顯示與用戶搜索相關的 IMEI 號碼,但我不知道我在哪里做錯了結果沒有出現。 我是 flutter 的新手。 這是我的代碼。 請幫忙

class _HomeState extends State<Home> {
  TextEditingController seachtf = TextEditingController();
  @override
  Widget build(BuildContext context) {
    final Stream<QuerySnapshot> _usersStream = FirebaseFirestore.instance
        .collection('imei')
        .where(
          'number',
          isEqualTo: seachtf.text,
        )
        .snapshots();
    return Scaffold(
      appBar: AppBar(
        title: Container(
          padding: EdgeInsets.only(
            left: 20,
            right: 10,
          ),
          child: TextField(
            controller: seachtf,
            decoration: InputDecoration(
              hintText: 'Search',
            ),
            onChanged: (value) {
              setState(() {});
            },
          ),
        ),
      ),
      body: StreamBuilder(
        stream: _usersStream,
        builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
          if (snapshot.hasError) {
            return Text("something is wrong");
          }
          if (snapshot.connectionState == ConnectionState.waiting) {
            return Center(
              child: CircularProgressIndicator(),
            );
          }

          return Container(
            decoration: BoxDecoration(
              borderRadius: BorderRadius.circular(12),
            ),
            child: ListView.builder(
              itemCount: snapshot.data!.docs.length,
        
              itemBuilder: (_, index) {
                      var data = snapshot.data!.docs[index].data()
                          as Map<String, dynamic>;
                return Card(
                  child: ListTile(
                    title: Text(
                     data['number'].toString(),
                    ),
                  ),
                );
              },
            ),
          );
        },
      ),
    );
  }
}

首先,您實現“搜索方法”的方式既復雜又低效。

Flutter 具有名為“ SearchDelegate ”的預構建實現。 如果您檢查它的文檔並使用 Firebase Firestore 數據庫搜索它的使用示例,它將使您的生活更加輕松。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM