Свойство слайдера onChangeEnd не работает должным образом

Я хочу сохранить в Firestore последнее значение ползунка после изменений. Я попытался сделать это с помощью onChangeEnd, но вместо последнего значения я получил первое выбранное значение.

Примеры

Что я хочу получить: текущее положение ползунка - 3. Я хочу нажать 3 на ползунке и сдвинуть его до 5, потому что мой ответ - 5. Я хочу, чтобы в Firestore сохранялся мой ответ 5. После этого невозможно переместите ползунок и дайте новый ответ.

Что я получаю №1: текущее положение ползунка - 3. Я нажимаю 3 на ползунке и хочу сдвинуть его до 5, потому что хочу, чтобы мой ответ был 5. В Firestore сохраняется, что мой ответ - 3. После этого это не так. можно переместить ползунок и дать новый ответ.

Что я получаю №2: текущее положение слайдера - 3. Я нажимаю 5 на слайдере (без скольжения) и хочу, чтобы мой ответ был 5. В Firestore сохраняется мой ответ 5. После этого невозможно переместить слайдер. и дать новый ответ.

      bool enabled = true;

Slider(
  value: overall,
  onChanged: enabled
      ? (value) {
          setState(() {
            overall = value.round().toDouble();
            _getOverallStatus(overall);
          });
       }
     : null,
  onChangeEnd: enabled
      ? (value) {
          enabled = false;
          setState(() {
            overall = value.round().toDouble();
            uploadFormData(overall);
          });
        }
      : null,
  label: '${overall.toInt()}',
  divisions: 4,
  min: 1.0,
  max: 5.0,
),

0 ответов

Другие вопросы по тегам