如何使用moor_flutter包计算表中的所有行并获得行数?
我在这里看到了 moor_flutter 官方文档,但我找不到我要找的东西。
根据使用 moor_flutter 包时 crud 函数的相似性,我希望它会像下面的函数一样,但它也不起作用。
Future<int<Person>> countPersons() => count(persons).get();
Run Code Online (Sandbox Code Playgroud) 我有一个PopupMenuButton
小部件,我想在每个小部件的开头添加一个图标PopupMenuItem
。我一直试图找到一种方法来做到这一点,但我没有找到任何方法。
Below is the **main.dart** file.
import 'package:flutter/material.dart';
import 'package:practical_0/homepage.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue
),
home: Homepage(),
);
}
}
Run Code Online (Sandbox Code Playgroud)
下面是home.dart文件。这是我实现 PopupMenuButton 的地方。我想要的图标出现在开始PopupMenuItem
之前text
。
import 'package:flutter/material.dart';
enum WhyFarther { harder, smarter, selfStarter, tradingCharter }
class Homepage extends StatelessWidget {
final double heightFactor = 600/896;
@override
Widget build(BuildContext context) {
return Scaffold(
body: …
Run Code Online (Sandbox Code Playgroud) 我的 flutter 应用程序运行良好,直到我去的那几天它停止成功构建
\nandroid/app/src/main/kotlin/com/apps/myapp/MainActivity.kt文件
\npackage com.apps.myapp\n\nimport io.flutter.embedding.android.FlutterActivity\n\nclass MainActivity: FlutterActivity() {\n \n}\n\n
Run Code Online (Sandbox Code Playgroud)\n安慰
\nBuilt build/app/outputs/repo.\nBuilding plugin workmanager...\n\xe2\x9c\x93 Built build/app/outputs/repo.\ne: /home/apps/myapp/android/app/src/main/kotlin/com/apps/myapp/MainActivity.kt: (3, 19): Unresolved reference: embedding\ne: /home/apps/myapp/android/app/src/main/kotlin/com/apps/myapp/MainActivity.kt: (5, 21): Unresolved reference: FlutterActivity\n\nFAILURE: Build failed with an exception.\n\n* What went wrong:\nExecution failed for task ':app:compileDebugKotlin'.\n> Compilation error. See log for more details\n\n* Try:\nRun with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full …
Run Code Online (Sandbox Code Playgroud) 我对使用 linux 作为我的主要操作系统非常陌生。昨天我刚刚在我的电脑上全新安装了 ubuntu。之后我开始设置我的桌面。正在安装任何必要的东西来运行 flutter 但每当我运行flutter
flutter: command not found
. 我曾尝试在 stackoverflow 上看到类似的问题,但我没有看到在 ubuntu 上将 flutter 添加到 PATH 的具体配置,这让我有点困惑,因为我现在对 linux 没有经验。
当我export PATH="$PATH:development/flutter/bin"
在终端中输入以下命令时,flutter 正在运行,但是当我关闭输入此命令的终端时,控制台中不再识别 flutter。
我想要的是将 flutter sdk 永久添加到 PATH 中,以便我可以随时flutter
在终端中访问命令。
我正在使用 ubuntu -v Ubuntu 18.04.3 LTS
。谢谢你。
我正在尝试显示位于另一个文件中的对话框StatefullWidget
但是当我调用它的函数时什么也没有发生。
我想这样做的原因是因为我的代码中有太多代码嵌套,所以我想让事情保持简单和干净。
\n\n下面是dialog.dart文件。
\n\nimport \'package:flutter/material.dart\';\n\nclass PersonDetailsDialog extends StatefulWidget {\n PersonDetailsDialog({Key key}) : super(key: key);\n\n @override\n _PersonDetailsDialogState createState() {\n return _PersonDetailsDialogState();\n }\n}\n\nclass _PersonDetailsDialogState extends State<PersonDetailsDialog> {\n @override\n Widget build(BuildContext context) {\n Future<void> _neverSatisfied() async {\n return showDialog<void>(\n context: context,\n barrierDismissible: false, // user must tap button!\n builder: (BuildContext context) {\n return AlertDialog(\n title: Text(\'Rewind and remember\'),\n content: SingleChildScrollView(\n child: ListBody(\n children: <Widget>[\n Text(\'You will never be satisfied.\'),\n Text(\'You\\\xe2\x80\x99re like me. I\xe2\x80\x99m never satisfied.\'),\n ],\n …
Run Code Online (Sandbox Code Playgroud) 我有不同的表单字段,我想validator
在触发方法之前默认修剪表单字段的每个值。
我想要实现这一点的原因是,如果我regex
在validator
方法被触发时对 Input 值运行 a ,正则表达式将返回 false,input_text.hasMatch
因为输入值末尾有一个无用的空格字符。
例如。alphaNumericText.hasMatch(val)
由于输入值末尾有一个无用的额外空格字符,下面的代码将返回 false。
final alphaNumericText = RegExp(r'^[a-zA-Z0-9]+$');
TextFormField(
keyboardType: TextInputType.text,
decoration: new InputDecoration(
labelText: 'Enter your nickname',
),
validator: (val) {
if (val.isEmpty == true) {
return 'Nickname is required!';
}
if (alphaNumericText.hasMatch(val) == false) {
return 'Use alphanumeric characters only in nickname.';
}
return null;
},
onSaved: (val) => this.nickname = val,
),
Run Code Online (Sandbox Code Playgroud)
注意我不想通过修改alphaNumericText RegExp
输入值末尾的额外空格来实现这一点。我不想以这种方式实现这一目标。
我想要的是在调用方法之前默认验证表单中所有 TextField 中的每个值 …
我想在不使用 StreamBuilder 的情况下从 Stream 函数中获取数据。我如何实现这一目标?下面是我想从中获取数据的函数。
Stream<List<Person>> watchAllPersons(limit, offset) => select(persons).watch();
Run Code Online (Sandbox Code Playgroud)
下面是我想在watchAllPersons()
不使用 StreamBuilder 的情况下从中获取数据的函数。
var xtraPersonsData;
int limit = 12;
int offset = 5;
Future loadMoreItems() {
final personDao = Provider.of<PersonDao>(context);
var getXtraPersons = personDao.watchAllPersons(limit, offset);
StreamBuilder(
stream: getXtraPersons, // a Stream<int> or null
builder: (BuildContext context, AsyncSnapshot snapshot) {
var xtraPersons = snapshot.data ?? List();
setState(() {
xtraPersonsData = xtraPersons;
});
debugPrint('persons: ' + persons.toString());
// return;
},
);
}
Run Code Online (Sandbox Code Playgroud)
我正在xtraPersonsData
使用上面 StreamBuilder 中的新数据更新变量。这不起作用,因为xtraPersonsData
正在返回null …