小编Bre*_*des的帖子

如何将 Firestore 文档列表绑定到 Flutter 中的下拉菜单?

我在下拉菜单和 firestore 方面遇到问题,如何将从 firestore 检索到的文档列表绑定到 DropdownButton?目前我有这个错误:

The argument type '(Map<dynamic, dynamic>) ? DropdownMenuItem<String>' can't be assigned to the parameter type '(DocumentSnapshot) ? dynamic'.
Run Code Online (Sandbox Code Playgroud)

来自我的小部件 .dart 的代码:

import 'package:flutter/material.dart';
import 'package:cloud_firestore/cloud_firestore.dart';

class MessageList extends StatelessWidget {
  MessageList({this.firestore});

  final Firestore firestore;
  var _mySelection;

  @override
  Widget build(BuildContext context) {
    return StreamBuilder<QuerySnapshot>(
      stream: firestore.collection('preciso-modelos').snapshots(),
      builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
        if (!snapshot.hasData) return const Text('Loading...');
        return new DropdownButton<String>(
            isDense: true,
            hint: new Text("Select"),
            value: _mySelection,
            onChanged: (String newValue) {
              print (_mySelection);
            },
            items: snapshot.data.documents.map((Map …
Run Code Online (Sandbox Code Playgroud)

dart firebase drop-down-menu flutter google-cloud-firestore

4
推荐指数
1
解决办法
9409
查看次数

在Flutter应用中在Firestore中使用离线持久性

我正在开发一个使用Firebase的Firestore将数据发送到Web的应用程序。该应用程序的功能之一是能够在脱机时将数据保存在设备中,并在恢复互联网连接后将其发送到Firestore。我激活了离线持久性,但无法正常工作。

调试控制台:

W/OkHttpClientTransport(28536): Failed closing connection
W/OkHttpClientTransport(28536): javax.net.ssl.SSLException: Write error: ssl=0x7f7acfc408: I/O error during system call, Broken pipe
W/OkHttpClientTransport(28536):     at com.google.android.gms.org.conscrypt.NativeCrypto.SSL_write(Native Method)
W/OkHttpClientTransport(28536):     at com.google.android.gms.org.conscrypt.NativeSsl.write(:com.google.android.gms@14798020@14.7.98 (040406-222931072):4)
Run Code Online (Sandbox Code Playgroud)

恢复互联网后,如何激活离线持久性并与Firestore同步?

我的密码:

Future<Null> sendFirebaseData(var selectedModel) async {

    Firestore.instance.enablePersistence(true);
    var certID = await getIDCertificado();

    var dateTime = new DateTime.now();
    var nowHour = new DateFormat('kk:mm:ss').format(dateTime);

      Map<String, dynamic> dataHeader = {
        'ID':                certID,
        };

      Map<String, dynamic> finalDataMap = {}..addAll(dataGeneral)
                                          ..addAll(dataInstrumento)..addAll(dataPadrao)
                                          ..addAll(dataAdicional)..addAll(dataHeader);

      await Firestore.instance.collection('certificados').document((certID.toString()))
          .setData(finalDataMap);}
Run Code Online (Sandbox Code Playgroud)

firebase flutter google-cloud-firestore

4
推荐指数
2
解决办法
2610
查看次数