如何完全禁用下拉菜单,以便用户无法访问下拉列表并将颜色更改为灰色
DropdownButtonFormField<String>(
value: selected,
items: ["Value1", "Value2", "Value3"]
.map(
(label) => DropdownMenuItem(
child: Text(label),
value: label,
),
)
.toList(),
onChanged: (value) {
setState(() => selected = value);
},
)
Run Code Online (Sandbox Code Playgroud)
我厌倦了将 onChange 设置为 null 但整个下拉列表消失了
我在互联网上呆了 3 天,试图找到一些可以帮助我在 Google Cloud 和我的 flutter 应用程序上设置 PostreSQL 服务器的东西。无论是文档还是互联网上的任何地方都没有关于 flutter 应用程序如何连接、设置甚至在没有 firebase 的情况下进行身份验证的信息。我试图在控制台支持页面获得帮助,它引导我到这里,我知道这不是最好的问题,但我没有其他选择。所以任何人都可以帮助我吗?或者是颤振仅设计与 firebase 一起使用还是谷歌云还没有准备好迎接 flutter 吗?
我想检查变量是否为假、真或空。如果为 null 或未定义,则默认将数组分配给变量。在其他语言中,这种语法很好用。然而,在 js 中,当值为 false 时,它将数组分配给myBool
const boolFromBody = false;
const myBool = boolFromBody || [true, false];
console.log(myBool)Run Code Online (Sandbox Code Playgroud)
我设法用这种语法来做到这一点,我只检查空值
const boolFromBody = null;
let otherBool = boolFromBody;
if (boolFromBody === null) {
otherBool = [true, false]
}
console.log(otherBool);Run Code Online (Sandbox Code Playgroud)
有没有更好的方法在js中做到这一点?
我试图将文本(自定义文本按钮)放入 AppBar 的前导属性中。但是,当文本太长时,文本会变成多行
Scaffold(
appBar: AppBar(
centerTitle: true,
leading: Text('Go back to'),
),
)
Run Code Online (Sandbox Code Playgroud)
如何增加 AppBar 前导属性的宽度?
我不想使用标题,因为它使居中标题成为 PITA。
Scaffold(
appBar: AppBar(
centerTitle: true,
title: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[Text('go back to'), Text('My center title')],
),
),
)
Run Code Online (Sandbox Code Playgroud)
有什么方法可以在不弄乱标题属性的情况下更改它吗?
我发现了一些关于这个问题的问题,但没有一个是针对颤振的。基本上,我以 firestore 数字格式保存双值数据,但是当数字四舍五入(例如 130.00)时,它会将其保存为整数。现在我怎样才能在检索数据时使其加倍。我有一个简单的模型类,可以填充地图中的数据,但我正在努力使其加倍
factory Tool.fromMap(Map<String, dynamic> toolData) {
if (toolData == null) {
return null;
}
final double length = toolData['length']; //<-- how to make it double here
final String name = toolData['name'];
...
return Tool(
length: length,
name: name
...);
}
Run Code Online (Sandbox Code Playgroud)
已知的方法似乎在这里不起作用
toolData['length'].toDouble()
Run Code Online (Sandbox Code Playgroud)
更新
实际上它有效..它只是没有在 android studio 中显示为选项
我有文本字段,它在 onChange 中将值变量更新为双格式...我希望 TextField 只显示更新的值变量..我不希望文本字段显示任何字符串值或不在中的值按错误的键盘键进行双重格式。即使使用启用了十进制的数字键盘,我们也可以多次按下我不想在 TextField 中显示的十进制键。
TextFormField(
decoration: InputDecoration(labelText: 'Value'),
onChanged: (s) {
if (double.tryParse(s) != null)
setState(() {
value = double.parse(s);
});
},
)
Run Code Online (Sandbox Code Playgroud)
如何在 TextField 中仅显示解析的值?
据我所知,我们可以很容易地检测到flutter中的操作系统。现在我只是在徘徊是否有任何方法可以确定应用程序在什么设备上运行。例如,如果应用程序在移动设备或平板设备上运行。它们都可以具有相同的操作系统。原因是由于屏幕大小,我想在我的小部件之一中显示,例如移动设备上的图标和平板设备上带有图标的文本。我知道我们可以MediaQuery.of(context).size.width用来找到屏幕的宽度,但是我不确定这是否是正确的方法,如果是,每个设备的可靠断点是什么
我正在尝试将图像拖放到我的 iPhone 模拟器中。我发现可以在 SO Adding images or video to iPhone Simulator上这样做。但是,当我尝试拖放简单的 png 或 jpeg 图像时,出现错误
\n\noperation couldn\xe2\x80\x99t be completed. (PHPhotosErrorDomain error -1.)\nRun Code Online (Sandbox Code Playgroud)\n\n我知道答案中的解决方案已经有 9 年历史了,而且我还没有找到任何最新的解决方案,那么有什么变化吗?
\n\n我的iOS模拟器版本是
\n\n版本 11.5 (921.9.1)\nSimulatorKit 581.9.1\nCoreSimulator 704.12.2
\n我正在尝试做简单的事情。当 TextField 不为空时显示清除按钮以清除内容并在内容为空时隐藏它。这是代码
final TextEditingController _controller = TextEditingController();
...
TextFormField(
controller: _controller,
decoration: InputDecoration(
suffixIcon: _controller.text.length > 0
? IconButton(
icon: Icon(Icons.clear, size: 16),
onPressed: () {
_controller.clear();
},
)
: null))
Run Code Online (Sandbox Code Playgroud)
这可以工作,但不能在激活键盘的情况下使用。您必须关闭键盘才能使其工作。如何在使用控制器打字时实时进行操作?
我正在尝试创建正则表达式来验证所有邮政编码格式。我找到了这个问题的答案What is the Ultimate Postal Code and zip regex? 但它在 Dart 中不起作用。以下是答案中的标准,这正是我正在寻找的
每个邮政编码系统仅使用 AZ 和/或 0-9,有时还使用空格/破折号
并非每个国家/地区都使用邮政编码(例如都柏林以外的爱尔兰),但我们在这里忽略这一点。
最短的邮政编码格式是塞拉利昂,带 NN
最长的是美属萨摩亚,NNNNN-NNNNNN
您应该留出一个空格或破折号。
不应以空格或破折号开头或结尾
这是我需要转换为 dart 的正则表达式(?i)^[a-z0-9][a-z0-9\- ]{0,10}[a-z0-9]$
我有型号列表
List<CategoryModel> categories = [CategoryModel(id:1), CategoryModel(id:2)]
Run Code Online (Sandbox Code Playgroud)
从该模型列表中,我想获得一个 id 等于 1 的模型,因此我使用 where 子句,但返回该模型的 Iterable 。
CategoryModel category =
categories.where((element) => element.id == 1)
Run Code Online (Sandbox Code Playgroud)
我怎样才能将它转移到模型