小编Job*_*yNZ的帖子

Flutter Web 上传到 Firestore

我在使用 Flutter web 并将图像上传到 Firestore 时遇到问题。我很确定问题出在图像选择器中,因为普通(移动)图像选择器不适用于网络。普通图像选择器返回一个文件,但替代image_picker_web返回一个图像,该图像在上传时被拒绝,因为它需要一个Future<File>.

image_picker_web有一种替代方法可以返回Uint8List我使用过的 a,然后转换为Filevia dart:html- 并正常上传,但图像已损坏且无法查看。

这是我所做的:

按下按钮 - 选择图像Uint8List> 转换为Image,存储在内存中并在屏幕上显示

                  onPressed: () async {
                    //Upload Image as Uint8List
                    imageBytes = await ImagePickerWeb.getImage(asUint8List: true);
                    //Convert Uint8List to Image
                    _image = Image.memory(imageBytes);
                    //Show new image on screen
                    setBottomSheetState(() {
                      image = _image;
                    });
                  },
Run Code Online (Sandbox Code Playgroud)

转换Uint8ListFileusingdart:html File和 name as users UID.png (PNG Uploaded)

 imageFile = html.File(imageBytes, …
Run Code Online (Sandbox Code Playgroud)

firebase flutter google-cloud-firestore flutter-web

13
推荐指数
1
解决办法
2074
查看次数

分页数据表和 Firebase

我浏览过互联网,但没有找到任何东西,而且我肯定不是唯一想要使用PagulatedDataTable和 Firebase 的人。

我有一个非常简单的表要创建:

带列表的页面

class CentreViewEnquiriesList extends StatefulWidget {
  final CentreData centreData;
  CentreViewEnquiriesList({this.centreData});
  @override
  _CentreViewEnquiriesList createState() => _CentreViewEnquiriesList();
}

class _CentreViewEnquiriesList extends State<CentreViewEnquiriesList> {
  int _rowsPerPage = PaginatedDataTable.defaultRowsPerPage;
  @override
  Widget build(BuildContext context) {
    return SingleChildScrollView(
      child: Container(
        padding: EdgeInsets.all(20),
          child: PaginatedDataTable(
              header: Text('Enquiries'),
              columns: [
                DataColumn(label: Text('Enquiry Date')),
                DataColumn(label: Text('Enquiry Person')),
                DataColumn(label: Text('Enquiry Status')),
              ],
              source: EnquiryDataSource(widget.centreData),
              onRowsPerPageChanged: (r) {
                setState(() {
                  _rowsPerPage = r;
                });
              },
              rowsPerPage: _rowsPerPage,
          ),
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

数据表源

class EnquiryDataSource …
Run Code Online (Sandbox Code Playgroud)

firebase flutter google-cloud-firestore flutter-web

6
推荐指数
0
解决办法
750
查看次数

Flutter Web 仪表板内容 - 最佳实践?

我正在创建一个管理仪表板,我目前有两个连续的视图小部件:

  • 侧边栏 - 300px(不是抽屉,因为我希望它永久显示) - 有一个列表。
  • 一个内容小部件 - 扩展。

管理仪表板视图

这是页面的代码:

import 'package:flutter/material.dart';
import 'package:webenrol/widgets/dashboard_admin.dart';
import 'package:webenrol/widgets/drawer.dart';

//TODO: add flappy_search_bar package and add to appBar

class AdminDashboard extends StatelessWidget {
  //TODO: Add title
  static String id = '/admin_dashboard';
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Admin Dashboard - Overview'),),
      body: Container(child: Row(
        children: <Widget>[
          //Sidebar
          DashboardSideBar(),
          //Main Dashboard Content
          DashboardAdmin(),
        ],
      )),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

我将为侧边栏中的链接创建其他内容小部件,我最希望的是,将内容小部件更新为在菜单上单击的内容,并且还将 ListTile 选择为活动状态,而无需重新加载页面。

这可能吗,我的 WebApp 是否为此正确布局,还是我需要更改它?

flutter flutter-layout flutter-navigation flutter-listview flutter-web

3
推荐指数
1
解决办法
3460
查看次数