Flutter将值传递给全局变量

时间:2020-04-30 09:55:46

标签: flutter dart

我第一次使用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;

感谢所有人 最好的祝福 安德里亚

2 个答案:

答案 0 :(得分:0)

将此添加到您的任何功能中

 setState((){
      globals.nome_impianto1 = usrcontroller_ovrelay_impianto.text;
    });

答案 1 :(得分:0)

  1. 避免在flutter中使用全局变量。如果您要全局管理状态,请使用StatefulWidget,甚至最好开始使用provider或更高级的bloc

  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;
  1. 颤振没有反射https://stackoverflow.com/a/49871692/8608146