【问题标题】:How to disable clicks detection in a CheckBox that's wrapped by an InkWell in Flutter如何在 Flutter 中由 InkWell 包装的 CheckBox 中禁用点击检测
【发布时间】:2022-01-13 22:17:51
【问题描述】:

我有这 4 个Inkwell(),每个里面都有一个CheckBox()
InkWell()onTap: 属性中,我分配了一个未命名的函数来执行一些逻辑。
当我点击复选框时,父 InkWell 的 'onTap' 属性不会被调用。

我想要做的是,当我点击CheckBox 时,父小部件InkWellonTap 被调用,所以这就像禁用CheckBox onChanged 属性,让它就像一个不可点击小部件。

注意:通过将null 分配给CheckBoxonChanged 属性,小部件仍会吸收点击,因此不会调用InkWellonTap 属性。

这是我的代码:

InkWell(
  onTap: () { /* DO SOMETHING */},
  child: Row(
    children: [
      SizedBox( /* The flag icon */ ),
      Text( /* The language name */ ),
      Checkbox(
        onChanged: null,
        value: (selectedLanguage == widget.id) ? true : false,
      )
    ],
  ),
)

【问题讨论】:

  • 您能否包含您的代码-sn-p 以重现相同的问题?
  • @YeasinSheikh 完成

标签: flutter checkbox ontap


【解决方案1】:

您可以将 Checkbox 小部件包装在 IgnorePointer

IgnorePointer(
      child: Checkbox(
        value: selectedLanguage == widget.id,
        onChanged: (v) {
          // This won't get called
        },
      ),
    )

【讨论】:

  • 谢谢它的工作
猜你喜欢
  • 1970-01-01
  • 2020-12-06
  • 2022-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多