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

Flutter RangeSlider 如何禁止用户滑动左侧滑块手柄

Flutter RangeSlider 禁止左侧手柄滑动实现方案

实现逻辑

核心思路是在onChanged回调中强制锁定左侧手柄的数值,仅允许修改右侧手柄数值:

  • 提前定义你需要固定的左侧手柄初始值,示例中我们固定为1.0
  • 回调触发时不直接使用返回的全量value,仅取其中的end值,start值始终用预设的固定值

修改后的完整代码

// 可根据业务需求修改固定的左侧手柄值
final double fixedLeftValue = 1.0;

RangeSlider(
  divisions: 5,
  activeColor: Colors.red[700],
  inactiveColor: Colors.grey,
  min: 1.0,
  max: 10.0,
  values: values,
  labels: labels,
  onChanged: (value) {
    state(() {
      // 强制固定左侧手柄值,仅更新右侧数值
      values = RangeValues(fixedLeftValue, value.end);
      labels = RangeLabels(
        "${values.start.toInt()}km",
        "${values.end.toInt()}km",
      );
    });
  },
),

内容的提问来源于stack exchange,提问作者Zaza.codes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 08:54:02