【问题标题】:Disable icon button in Flutter based on condition根据条件禁用 Flutter 中的图标按钮
【发布时间】:2021-07-19 00:12:20
【问题描述】:

我希望根据 Firestore 数据中的特定条件禁用屏幕中的图标按钮。

如果 flag 为 1,我想检查 flag 的条件并禁用按钮。 我按照告知写了onPressed,但无论条件如何,所有“加入”按钮都被禁用。这里有逻辑问题吗?

【问题讨论】:

    标签: flutter google-cloud-firestore flutter-animation mobile-development


    【解决方案1】:

    在您的图标中,您可以在onPressed 函数上使用直接条件。

    当您想禁用按钮时,只需在onPressed 中提供null,否则您的常规功能就像:

    trailing: FlatButton.icon(
      icon: Icon(Icons.add_box_rounded),
      label: Text('Join'),
      onPressed: your_condition ? 
          () async => showQueueDetailsPanel() : null,
    ),
    

    【讨论】:

    • 我认为逻辑是对的。调试控制台有错误吗?
    • 能否分享一下你在条件下是如何使用这个功能的?
    • 好的,我想我明白了。尝试将await 放在该函数调用之前。 await checkUserStatus() == 0等等
    • 请在您的函数定义中添加返回类型Future<int> checkUserStatus()。然后看看。
    【解决方案2】:

    您可以使用IgnorePointer 并使用ignoring 属性控制水龙头禁用

    【讨论】:

      猜你喜欢
      • 2021-01-06
      • 2021-12-21
      • 2015-08-24
      • 1970-01-01
      • 2019-02-27
      • 2020-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多