Flutter 如何将函数中的值返回到小部件

Flutter 如何将函数中的值返回到小部件,flutter,flutter-layout,Flutter,Flutter Layout,我需要帮助我新来振作。我想从我的函数中获取返回值字符串,并在我的文本小部件中获取它。这不是我真正的代码,但我希望它能像那样工作。而且每次我按下按钮,文本小部件上的字符串值也会改变。谢谢 String textReturn(String value){ String text = "value"; return text.toString(); } class SamplePage extends StatefulWidget { @override _SamplePageSt

我需要帮助我新来振作。我想从我的函数中获取返回值字符串,并在我的文本小部件中获取它。这不是我真正的代码,但我希望它能像那样工作。而且每次我按下按钮,文本小部件上的字符串值也会改变。谢谢

String textReturn(String value){
  String text = "value";
  return text.toString();
}


class SamplePage extends StatefulWidget {
  @override
  _SamplePageState createState() => _SamplePageState();
}

class _SamplePageState extends State<SamplePage> {
  @override
  Widget build(BuildContext context) {
    return Center(
      child: Container(
        child: Column(
          children: <Widget>[
            FlatButton(
              onPressed: (){
                textReturn("This is the value");
                }, 
              child: Text("Button")
              ),
              Text(
                textReturn
                )
          ],
        ),
      ),
    );
  }
}
String text返回(字符串值){
String text=“value”;
返回text.toString();
}
类SamplePage扩展StatefulWidget{
@凌驾
_SamplePageState createState();
}
类_SamplePageState扩展状态{
@凌驾
小部件构建(构建上下文){
返回中心(
子:容器(
子:列(
儿童:[
扁平按钮(
已按下:(){
textReturn(“这是值”);
}, 
子项:文本(“按钮”)
),
正文(
文本返回
)
],
),
),
);
}
}

您可以使用
状态轻松完成此操作,并且不再需要函数的返回值,因为设置状态会导致UI重新呈现并反映对屏幕中值的更改。解决方案如下:

import 'package:flutter/material.dart';

class SamplePage extends StatefulWidget {
 SamplePage();

@override
  _SamplePageState createState() => _SamplePageState();
}

class _SamplePageState extends State<SamplePage> {
String _sampleString;

void textReturn(String value) {
  String text = "value";

  setState(() {
   _sampleString = text;
  });
}

@override
Widget build(BuildContext context) {
 return Center(
   child: Container(
     child: Column(
       children: <Widget>[
         FlatButton(
           onPressed: () {
             textReturn("This is the value");
           },
           child: Text("Button"),
         ),
         Text(this._sampleString)
       ],
     ),
    ),
   );
  }
 }
导入“包装:颤振/材料.省道”;
类SamplePage扩展StatefulWidget{
样本页();
@凌驾
_SamplePageState createState();
}
类_SamplePageState扩展状态{
字符串_sampleString;
void textReturn(字符串值){
String text=“value”;
设置状态(){
_sampleString=文本;
});
}
@凌驾
小部件构建(构建上下文){
返回中心(
子:容器(
子:列(
儿童:[
扁平按钮(
已按下:(){
textReturn(“这是值”);
},
子项:文本(“按钮”),
),
文本(此._示例字符串)
],
),
),
);
}
}

use
setState((){someStringVariable=textReturn(“这是值”);})
Text(someStringVariable)
但实际上您不需要
textreurn
-只需使用
setState((){someStringVariable=“这是值”;})
设置状态(()=>someStringVariable=“这是值”)@pskink我想应该是answer@epsilon所以写下来作为一个自我回答