Флаттер передает значение глобальной переменной - PullRequest
0 голосов
/ 30 апреля 2020

Я впервые использую flutter и stackoverflow, извините за ошибки. У меня есть глобальные переменные в файле global.dart. В основном я хочу получить доступ к переменной и отредактировать ее, передав ей значение

Global.dart
String nome_impianto1 = "IMPIANTO 1";
String nome_impianto2 = "IMPIANTO 2";
String nome_impianto3 = "IMPIANTO 3";
String nome_impianto4 = "IMPIANTO 4";

main.dart
import 'package:services/global.dart' as globals;
globals.nome_impianto1 = usrcontroller_ovrelay_impianto.text;  //so it works.

как передать значение, которое я хочу изменить?

globals.nome_impianto{$'1'} = usrcontroller_ovrelay_impianto.text //I know it doesn't work, and just to get the idea;

спасибо всем С наилучшими пожеланиями Andrea

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020
  1. Избегайте использования глобальных переменных в флаттере. Если вы управляете состоянием в глобальном масштабе, используйте StatefulWidget и даже лучше начните использовать провайдера или даже более продвинутого blo c.

  2. Для на ваш вопрос, если вы хотите получить доступ к ним глобально, лучше использовать Map

//  Global.dart
  Map<String, String> globals = {
    "nome_impianto1": "IMPIANTO 1",
    "nome_impianto2": "IMPIANTO 2",
    "nome_impianto3": "IMPIANTO 3",
    "nome_impianto4": "IMPIANTO 4",
  };

// main.dart
  int index = 1;
  globals["nome_impianto$index"] = usrcontroller_ovrelay_impianto.text;
флаттер не имеет отражения { ссылка }
0 голосов
/ 30 апреля 2020

Добавьте это к любой из ваших функций:

 setState((){
      globals.nome_impianto1 = usrcontroller_ovrelay_impianto.text;
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...