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
相关产品推荐
相关产品推荐

