You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter用户自定义Widget删除功能失效问题排查

问题解决:长按卡片无法触发删除操作

核心问题定位

在CardTile组件的删除按钮代码中,仅引用了回调函数变量但未执行调用,导致点击Delete Card按钮时没有触发删除逻辑:

// 错误写法:仅引用函数,未执行调用
onPressed: () {
  deleteCallback; 
},

修复步骤

修改CardTile中Delete Card按钮的onPressed代码,将deleteCallback改为deleteCallback(),确保回调函数被执行:

// 正确写法:调用回调函数完成删除
onPressed: () {
  deleteCallback(); 
},

额外优化建议

  1. 修复MyCardData类addCard方法的变量引用错误:
    // 错误:使用未定义的cardColor,应传入参数newCardColor
    final card = MyCard(name: newMyCardTitle, cardColor: cardColor);
    // 修复后:
    final card = MyCard(name: newMyCardTitle, cardColor: newCardColor);
    
  2. 为CardTile的回调参数指定更明确的类型:
    // 原代码
    final Function deleteCallback;
    // 修改为更严谨的VoidCallback类型
    final VoidCallback deleteCallback;
    

内容的提问来源于stack exchange,提问作者Val

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 12:25:33