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

Flutter中Slide_to_act组件返回页面后重置状态的问题

解决Slide_to_act组件返回原页面后状态不重置的问题

要解决返回后组件保持已完成状态的问题,你可以通过GlobalKey获取组件状态并手动重置,步骤如下:

  • 首先在页面的State类中定义一个GlobalKey:
final GlobalKey<SlideActionState> _slideActionKey = GlobalKey();
  • 给你的SlideAction组件绑定这个key:
SlideAction(
  key: _slideActionKey, // 添加这一行
  height: 70,
  sliderRotate: false,
  alignment: Alignment.centerRight,
  onSubmit: () async {
    // 等待新页面返回
    await slideAnimated_push(
        context,
        ConfirmPage(
            total: summedPrice.toInt(), slevee: slevee));
    // 页面返回后重置组件状态
    _slideActionKey.currentState?.reset();
  },
  innerColor: Colors.white,
  outerColor: StGreen,
  elevation: 1,
  text: 'Slide to Confirm',
  textStyle: const TextStyle(
    fontFamily: 'RaleWay',
    fontSize: 20,
    color: Colors.white,
  ),
),

原理是通过GlobalKey获取SlideAction的状态实例,调用其内置的reset()方法就能将组件恢复到初始未滑动的状态。注意要确保slideAnimated_push方法返回的是Future(类似原生Navigator.push),这样才能在页面返回后执行重置操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 00:55:14