问题描述
我想使用 Flutter 制作一个包含 3 个 textField
的应用,如果前两个 textField
中输入的值,则这两个值的总和应该是第三个的输入, &如果输入了 textField
1 & 3 的值,总和值将是 textField
2 的值...第三个 textField
的键但是当我重复插入另一个 textField
的另一个键时会发生重复错误... 以前在 Java 中我曾经添加 textWatchers
但是我不知道如何在 Flutter 中做到这一点...我的代码
@override
_TryPageState createState() => _TryPageState();
}
class _TryPageState extends State<TryPage> {
TextEditingController textEditingController = TextEditingController();
var veLocityEditingController = TextEditingController();
var finalValue = TextEditingController();
int airFlow;
int veLocity;
int valueFinal;
String sam,sam2;
String airFlowText,veLocityText,finalText;
String totalCalculated() {
airFlowText = textEditingController.text;
veLocityText = veLocityEditingController.text;
finalText = finalValue.text;
if (airFlowText != '' && veLocityText != '') {
sam = (airFlow + veLocity).toString();
finalValue.value = finalValue.value.copyWith(
text: sam.toString(),);
}
return sam;
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
mainAxisAlignment: MainAxisAlignment.center,crossAxisAlignment: CrossAxisAlignment.stretch,children: [
TextField(
// key: Key(totalCalculated()),controller: textEditingController,onChanged: (textEditingController) {
setState(() {
airFlow = int.parse(textEditingController.toString());
});
},onTap: () {
setState(() {
textEditingController.clear();
});
},decoration: Inputdecoration(
hintText: 'Enter Value',labelText: 'Air Flow',),keyboardType: TextInputType.number,TextField(
controller: veLocityEditingController,onChanged: (veLocityEditingController) {
setState(() {
veLocity = int.parse(veLocityEditingController.toString());
});
},labelText: 'VeLocity',TextFormField(
key: Key(totalCalculated()),controller: finalValue,onChanged: (finaValue) {
setState(() {
valueFinal = int.parse(finalValue.toString());
});
},labelText: 'Final Value',Text('Entered Value is $airFlow + $veLocity + $valueFinal'),],);
}
}
有人可以帮我吗
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)