小编del*_*min的帖子

如何在flutter中禁用DropDown

如何完全禁用下拉菜单,以便用户无法访问下拉列表并将颜色更改为灰色

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 但整个下拉列表消失了

dart flutter

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

Google Cloud SQL 连接到 flutter

我在互联网上呆了 3 天,试图找到一些可以帮助我在 Google Cloud 和我的 flutter 应用程序上设置 PostreSQL 服务器的东西。无论是文档还是互联网上的任何地方都没有关于 flutter 应用程序如何连接、设置甚至在没有 firebase 的情况下进行身份验证的信息。我试图在控制台支持页面获得帮助,它引导我到这里,我知道这不是最好的问题,但我没有其他选择。所以任何人都可以帮助我吗?或者是颤振仅设计与 firebase 一起使用还是谷歌云还没有准备好迎接 flutter 吗?

google-cloud-platform flutter

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

检查值是否为 false、true 或 null

我想检查变量是否为假、真或空。如果为 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中做到这一点?

javascript

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

增加 AppBar 前导属性的宽度

我试图将文本(自定义文本按钮)放入 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)

在此输入图像描述

有什么方法可以在不弄乱标题属性的情况下更改它吗?

dart flutter

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

如何在flutter中从firestore数字格式中获取双倍

我发现了一些关于这个问题的问题,但没有一个是针对颤振的。基本上,我以 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 中显示为选项

在此输入图像描述

dart flutter google-cloud-firestore

2
推荐指数
1
解决办法
3124
查看次数

如何在 TextField 中仅显示双倍值

我有文本字段,它在 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 中仅显示解析的值?

dart flutter

2
推荐指数
3
解决办法
1445
查看次数

颤振检测装置类型

据我所知,我们可以很容易地检测到flutter中的操作系统。现在我只是在徘徊是否有任何方法可以确定应用程序在什么设备上运行。例如,如果应用程序在移动设备或平板设备上运行。它们都可以具有相同的操作系统。原因是由于屏幕大小,我想在我的小部件之一中显示,例如移动设备上的图标和平板设备上带有图标的文本。我知道我们可以MediaQuery.of(context).size.width用来找到屏幕的宽度,但是我不确定这是否是正确的方法,如果是,每个设备的可靠断点是什么

dart flutter

2
推荐指数
1
解决办法
3242
查看次数

将图像添加到 iPhone 模拟器会导致错误(PHPhotosErrorDomain 错误 -1。)

我正在尝试将图像拖放到我的 iPhone 模拟器中。我发现可以在 SO Adding images or video to iPhone Simulator上这样做。但是,当我尝试拖放简单的 png 或 jpeg 图像时,出现错误

\n\n
operation couldn\xe2\x80\x99t be completed. (PHPhotosErrorDomain error -1.)\n
Run 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

ios ios-simulator

2
推荐指数
1
解决办法
1548
查看次数

当 TextField 不为空时显示图标

我正在尝试做简单的事情。当 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)

这可以工作,但不能在激活键盘的情况下使用。您必须关闭键盘才能使其工作。如何在使用控制器打字时实时进行操作?

dart flutter

2
推荐指数
1
解决办法
1646
查看次数

用于验证邮政编码格式的 dart 正则表达式

我正在尝试创建正则表达式来验证所有邮政编码格式。我找到了这个问题的答案What is the Ultimate Postal Code and zip regex? 但它在 Dart 中不起作用。以下是答案中的标准,这正是我正在寻找的

  1. 每个邮政编码系统仅使用 AZ 和/或 0-9,有时还使用空格/破折号

  2. 并非每个国家/地区都使用邮政编码(例如都柏林以外的爱尔兰),但我们在这里忽略这一点。

  3. 最短的邮政编码格式是塞拉利昂,带 NN

  4. 最长的是美属萨摩亚,NNNNN-NNNNNN

  5. 您应该留出一个空格或破折号。

  6. 不应以空格或破折号开头或结尾

这是我需要转换为 dart 的正则表达式(?i)^[a-z0-9][a-z0-9\- ]{0,10}[a-z0-9]$

regex dart flutter

2
推荐指数
1
解决办法
3321
查看次数

Iterable&lt;model&gt; 到模型

我有型号列表

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)

我怎样才能将它转移到模型

dart flutter

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