Как включить / отключить линии сетки в mp_chart для флаттера, когда график нарисован - PullRequest
0 голосов
/ 27 апреля 2020

Я делаю график во флаттере, используя пакет mp_chart (v 0.1.9). Тип диаграммы - график производительности.

В определении контроллера я включил сетку как

xAxisSettingFunction: (xAxis, controller) {
    xAxis.enabled = true;

    xAxis
      ..drawGridLines = (true)
      ..setLabelCount1(120)
      ..drawLabels = (false)
      ..drawAxisLine = (false)
      ..granularityEnabled = (true)
      ..setGranularity(5.0);
  },

Соответственно, я получаю сетку. Теперь я хочу переключить сетку (скрыть и показать). Поэтому я предполагаю, что что-то вроде этого должно работать

myController.xAxis.drawGridLines = false;
setState(() {});

Сброс параметра включения линии сетки и вызов состояния установки. Но это не работает. Как мне этого добиться?

1 Ответ

0 голосов
/ 28 апреля 2020

Понял. После изменения свойства типа

myController.xAxis.drawGridLines = false;

при вызове setState (). Он переопределяет значение, определенное в определении контроллера. таким образом, чтобы достичь желаемого результата, мы можем использовать флаг (bool) в определении контроллера.

xAxisSettingFunction: (xAxis, controller) {
    xAxis.enabled = true;

    if (flag) {
            xAxis.drawGridLines = true;
          } else {
            xAxis.drawGridLines = true;
          }
  },

, затем изменить флаг как требуется и вызвать setState ()

...