如何防止用户在 Flutter RangeSilder 中滑动左手拇指

时间:2021-08-01 13:01:21

标签: flutter dart rangeslider

这是我的范围滑块小部件实现,我想阻止用户滑动左拇指滑块

  RangeSlider(
                          divisions: 5,
                          activeColor: Colors.red[700],
                          inactiveColor: Colors.grey,
                          min: 1.0,
                          max: 10.0,
                          values: values,
                          labels: labels,
                          onChanged: (value) {
                            state(
                              () {
                                values = value;
                                labels = RangeLabels(
                                  "${value.start.toInt().toString()}km",
                                  "${value.end.toInt().toString()}km",
                                );
                              },
                            );
                          },
                        ),

2 个答案:

答案 0 :(得分:1)

在您的 if (values.start != value.start) return; 中添加 onChanged,这将阻止更新 values,从而阻止更新 RangeSlider

答案 1 :(得分:0)

来自@ikerfah 的评论有助于包含 if(values.start != value.start) return;在 onChanged 回调中

   RangeSlider(
                          divisions: 5,
                          activeColor: Colors.red[700],
                          inactiveColor: Colors.grey,
                          min: 1.0,
                          max: 10.0,
                          values: values,
                          labels: labels,
                          onChanged: (value) {
                            state(
                              () {
                                if (values.start != value.start) return;
                                values = value;
                                labels = RangeLabels(
                                  "${value.start.toInt().toString()}km",
                                  "${value.end.toInt().toString()}km",
                                );
                              },
                            );
                          },
                        ),