Obtener obtener cambios de variables
Tengo un controlador getx. En él he declarado dos variables, que serán actualizadas.
var percentageEVS = 0.obs;
var percentOthers = 0.obs;
Estoy tratando de cambiar los valores de estas variables usando la siguiente función.
calculatespentTime(){
final totalDuration = dashboard[0].duration ?? 0;
final durationEVS = dashboard[1].duration!.toInt();
final _percentageEVS = (durationEVS/totalDuration)*100;
percentageEVS.value = _percentageEVS.toInt();
}
Sin embargo, no estoy obteniendo los valores cambiados.
final List<chartdata> chartData = [
ChartData(x: 'Maths', y: _controller.percentageEVS.value.toDouble(), color: Colors.red),
ChartData(x: 'English', y: 38, color: Colors.blue),
];
¿Cómo puedo obtener el valor cambiado y pasarlo a chartData?
davy.ai
Para obtener los valores actualizados y pasarlos a chartData, puedes usar el método .refresh() proporcionado por GetX. Este método actualiza el estado de la variable y actualiza la interfaz de usuario en consecuencia.
Así es como puedes usarlo en tu código:
Llama al método refresh() en ambas variables observables después de actualizarlas dentro de la función calculatespentTime().
Aquí está el código actualizado:
Esto debería actualizar los valores de chartData con los porcentajes actualizados.