首页 > 解决方案 > 如何使用 Flutter TextFormField 设置状态()

问题描述

validator: (value) {
                                if (value.isEmpty) {
                                  _casing.depth = 0;
                                } else if (double.tryParse(value) != null) {
                                  // setState(() {
                                  _casing.depth = double.tryParse(value);
                                  // });
                                } else {
                                  _casing.depth = 0;
                                  return kTextFieldError;
                                }
                                return null;
                              },

这将返回一个错误,指出当前执行此操作时无法设置状态。我需要的是作为用户输入(或通过单击确定或点击自动隐藏键盘的任何位置完成),我想使用输入值来计算父小部件中的数字

标签: flutterdartinputlayoutflutter-layout

解决方案


你可以使用的onChanged属性TextFormField

onChanged:(value){
 if (value.isEmpty) {
_casing.depth = 0;
} else if (double.tryParse(value) != null) {
 // setState(() {
 _casing.depth = double.tryParse(value);
 // });
 } else {
  _casing.depth = 0;
   return kTextFieldError;
 }
}

推荐阅读