在setState中计算两个值的方法如下所示:
import 'package:flutter/material.dart';
class MyWidget extends StatefulWidget {
@override
_MyWidgetState createState() => _MyWidgetState();
}
class _MyWidgetState extends State {
double value1 = 0;
double value2 = 0;
double result = 0;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Calculate Values'),
),
body: Column(
children: [
Text('Value 1: $value1'),
Text('Value 2: $value2'),
Text('Result: $result'),
RaisedButton(
child: Text('Calculate'),
onPressed: () {
setState(() {
// 计算两个值
result = value1 + value2;
});
},
),
TextField(
onChanged: (newValue) {
setState(() {
value1 = double.parse(newValue);
});
},
),
TextField(
onChanged: (newValue) {
setState(() {
value2 = double.parse(newValue);
});
},
),
],
),
);
}
}
void main() {
runApp(MaterialApp(
home: MyWidget(),
));
}
在这个示例中,我们创建了一个StatefulWidget并在其State类中定义了三个变量:value1、value2和result。在build方法中,我们使用Text小部件将这些值显示在屏幕上,并使用RaisedButton小部件创建一个按钮。当用户按下按钮时,onPressed回调函数会在setState中计算result的值,并触发小部件的重建。
我们还使用两个TextField小部件来获取用户输入的value1和value2的值,并在onChanged回调函数中使用setState更新这些值。
当用户按下“Calculate”按钮时,setState将调用build方法来重建小部件,并显示计算结果。