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(“这是值”);
},
子项:文本(“按钮”),
),
文本(此._示例字符串)
],
),
),
);
}
}
usesetState((){someStringVariable=textReturn(“这是值”);})
和Text(someStringVariable)
但实际上您不需要textreurn
-只需使用setState((){someStringVariable=“这是值”;})代码>或设置状态(()=>someStringVariable=“这是值”)代码>@pskink我想应该是answer@epsilon所以写下来作为一个自我回答