问题: 当我在浏览器中将 Flutter 应用程序作为 Web 应用程序运行时,我可以使用浏览器的文本搜索功能 Ctrl + F 来搜索页面上的文本。搜索功能会查找当前显示在屏幕上的所有搜索词实例,但不会查找当前不在视图中的所有其他文本实例。
示例: 在下面的示例中,我正在搜索单词tile,总共使用了 8 次:蓝色瓷砖 4 次,紫色瓷砖 4 次。但是,当我搜索单词tile 时,浏览器只会找到搜索时当前显示在屏幕上的单词的 4 个实例。它会忽略搜索时未在屏幕上呈现的所有单词实例。
文档: Flutter 和 Dart 文档没有关于可搜索文本的任何信息,我没有看到任何其他类似的小部件或属性可用。
尝试:我曾尝试使用 SelectableText 小部件,但同样的问题仍然存在。
背景
我的 Flutter 应用程序使用该pdf/pdf.dart包创建 PDF 文档,该文档显示 Firestore 数据库集合中的信息。PDF 文档包含一个表格。我想以动态和编程方式在表中为 Firestore 集合中的每条记录创建一行。
当前状态 我已经能够创建 PDF 文档和具有预设行数的静态表格。但是,我无法动态地以编程方式在表中为 Firestore 集合中的每条记录创建一行。
问题 如何以动态方式以编程方式在表中为指定 Firestore 集合中的每条记录创建一行?
代码片段:表格
pw.Table(border: pw.TableBorder(), children: [
pw.TableRow(
children: [
paddedHeadingTextCell('Product'),
paddedHeadingTextCell('Unit'),
paddedHeadingTextCell('Qty'),
paddedHeadingTextCell('Price'),
paddedHeadingTextCell('Discount'),
paddedHeadingTextCell('Tax'),
paddedHeadingTextCell('Total AUD'),
],
),
// Now the next table row
buildRowsForInventoryItems(), // This triggers the Row Builder, which does not work.
])
Run Code Online (Sandbox Code Playgroud)
代码片段:非功能行构建器
pw.TableRow buildRowsForInventoryItems() {
List<pw.Column> itemList = [];
var items = DatabaseService().returnAllInventoryItemsFromAPurchaseOrder();
for (var item in items) {
final description = …Run Code Online (Sandbox Code Playgroud) 背景
我的尝试 有几篇 Stack Overflow 帖子没有解决这个问题。这些包括:
build/web在运行 firebase init 命令时使用遵循的步骤
au.com.mydomain(mydomain我拥有的域名在哪里)。flutter create web。cd web和flutter run”。cd web和flutter run. 该应用程序在 …我正在尝试使用 Flutter 中的 StreamBuilder 使用 Firestore 中的数据动态填充 DataTable。古斯塔沃提出了类似的问题,这很有帮助,但我似乎仍然无法让我的代码正常工作。
我收到的错误是'package:flutter/src/material/data_table.dart': Failed assertion: line 429 pos 15: '!rows.any((DataRow row) => row.cells.length != columns.length)': is not true. 这个错误显然表明我的数据表似乎有不一致的单元格和列数,但我不明白为什么会出现这种情况,因为我已经使用了每个单元格和列的三个。
这是我的代码:
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
class SkillsMatrixOverall extends StatefulWidget {
@override
_SkillsMatrixOverallState createState() => _SkillsMatrixOverallState();
}
@override
class _SkillsMatrixOverallState extends State<SkillsMatrixOverall> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Baby Name Votes')),
body: new StreamBuilder(
stream: FirebaseFirestore.instance.collection('baby').snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) return new Text('Loading...');
return new DataTable( …Run Code Online (Sandbox Code Playgroud)