Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何访问与颤振中的其他小部件关联的变量?_Flutter_Dart_Flutter Layout_Flutter Dependencies_Flutter Test - Fatal编程技术网

Flutter 如何访问与颤振中的其他小部件关联的变量?

Flutter 如何访问与颤振中的其他小部件关联的变量?,flutter,dart,flutter-layout,flutter-dependencies,flutter-test,Flutter,Dart,Flutter Layout,Flutter Dependencies,Flutter Test,我需要你的帮助,关于一个让我挠头的问题,这里我有一个材质按钮,里面有一个变量,我想在文本小部件中使用 MaterialButton( onPressed: () { // My Random Code Goes Here. (Never Mind) var currentEmoji = ...;

我需要你的帮助,关于一个让我挠头的问题,这里我有一个材质按钮,里面有一个变量,我想在文本小部件中使用

                   MaterialButton(
                         onPressed: () {
                          // My Random Code Goes Here. (Never Mind)

                           var currentEmoji = ...;
                         },
如你所见,我有一个材质按钮,里面有一个大代码,我需要向你展示的是currentEmoji变量

我需要在这个文本小部件中使用这个变量,它就在这段代码的下面

                       child: Text(
                          *currentEmoji*,
                          textScaleFactor: 2,
                        ),
我有一个材料按钮 我有一个按下的功能。 在该函数中有一个变量currentEmoji 我想在文本小部件中显示这个变量 如何在onPressed函数之外使用currentEmoji变量。 我想在这方面寻求您的帮助。

请参阅下面的代码

无意冒犯,但这是全局声明变量的基本概念,即通用编程概念

我鼓励您阅读dart语言的官方文档

这肯定会让你的发展之旅更加轻松。

看看它:

您需要在这两个小部件之外声明变量,如下所示:

class _MyWidgetState extends State<MyWidget> {
  String _currentEmoji = 'my initial emoji';

  void _setEmoji() {
    // My Random Code Goes Here. (Never Mind)
    setState(() {
      _currentEmoji = 'new emoji';
    });
  }

  @override
  Widget build(BuildContext context) {
    return Column(children: [
      ElevatedButton(
        onPressed: _setEmoji,
        child: Text('press me'),
      ),
      Text(_currentEmoji),
    ]);
  }
}

您已经在该材料按钮上就同一主题提出了3-4个问题。没有确认任何用户的任何回答。先生,没有,材质按钮是相同的,我承认,但这是一个不同的场景,我很想知道我们如何在onPressed之外访问currentEmoji,之前我从未问过,承认材质按钮在每种情况下都会使用。这只是提出问题的一种方式。我希望你能理解。帮助我寻找这个答案的根源@假设它在同一个类中,但在不同的函数中,只需为它创建一个全局变量。如果它在创建小部件的同一个函数中,则在该函数中设置局部变量的作用域。示例:void _buildWidget{var emoji='default';…}@ProCo只需声明它在onPressed方法之外。有什么大问题deal@Shree我同意你的观点,但请解释一下原因。他们可能试图通过改进负面评分问题来摆脱问题禁令,这是个好主意。帮助他们在不否定答案的情况下改进这个问题,我认为这是你的理由。。。。。
class _MyWidgetState extends State<MyWidget> {
  String _currentEmoji = 'my initial emoji';

  void _setEmoji() {
    // My Random Code Goes Here. (Never Mind)
    setState(() {
      _currentEmoji = 'new emoji';
    });
  }

  @override
  Widget build(BuildContext context) {
    return Column(children: [
      ElevatedButton(
        onPressed: _setEmoji,
        child: Text('press me'),
      ),
      Text(_currentEmoji),
    ]);
  }
}