Свойство слайдера 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,
),