Flutter 当用户转到Flatter中的下一个textfield时,如何获取textfield的值 返回容器( 宽度:(屏幕宽度/2)-45, 子:列( crossAxisAlignment:crossAxisAlignment.start, 儿童:[ LightText( 文本:widget.labelText, ), 填充物( 填充:仅限边缘设置(顶部:3), ), 容器( 身高:24, 装饰: 盒子装饰(边框半径:边框半径。圆形(3)), 儿童:主题( 数据:主题数据(hintColor:浅灰色), 孩子:TextField( 输入格式化程序:[ WhiteListingDeputFormatter.digitsOnly, CurrencyInputFormatter(), ], 已启用:widget.enableVal, 控制器:widget.controllerText, 键盘类型:TextInputType.number, 装饰:输入装饰( disabledBorder:OutlineInputBorder( borderSide:borderSide(颜色:Colors.white)), 边框:OutlineInputBorder(), 内容填充: 常数边集对称(垂直:3.0)), ))), ], )); } }
您可以使用Textfield的Flutter 当用户转到Flatter中的下一个textfield时,如何获取textfield的值 返回容器( 宽度:(屏幕宽度/2)-45, 子:列( crossAxisAlignment:crossAxisAlignment.start, 儿童:[ LightText( 文本:widget.labelText, ), 填充物( 填充:仅限边缘设置(顶部:3), ), 容器( 身高:24, 装饰: 盒子装饰(边框半径:边框半径。圆形(3)), 儿童:主题( 数据:主题数据(hintColor:浅灰色), 孩子:TextField( 输入格式化程序:[ WhiteListingDeputFormatter.digitsOnly, CurrencyInputFormatter(), ], 已启用:widget.enableVal, 控制器:widget.controllerText, 键盘类型:TextInputType.number, 装饰:输入装饰( disabledBorder:OutlineInputBorder( borderSide:borderSide(颜色:Colors.white)), 边框:OutlineInputBorder(), 内容填充: 常数边集对称(垂直:3.0)), ))), ], )); } },flutter,Flutter,您可以使用Textfield的onChanged事件在数据发生更改时获取数据 以下是您如何做到这一点 字符串数据; onChanged:(数据){ //数据是文本字段的当前值。 someData=数据; }, 使用它,您将始终拥有文本字段的数据 编辑 您也可以使用onSubmitted事件来获得所需的结果 return Container( width: (screenWidth / 2) - 45, child: Column( crossAxisAlignme
onChanged
事件在数据发生更改时获取数据
以下是您如何做到这一点
字符串数据;
onChanged:(数据){
//数据是文本字段的当前值。
someData=数据;
},
使用它,您将始终拥有文本字段的数据
编辑
您也可以使用onSubmitted
事件来获得所需的结果
return Container(
width: (screenWidth / 2) - 45,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
LightText(
text: widget.labelText,
),
Padding(
padding: EdgeInsets.only(top: 3),
),
Container(
height: 24,
decoration:
BoxDecoration(borderRadius: BorderRadius.circular(3)),
child: Theme(
data: ThemeData(hintColor: lightGrey),
child: TextField(
inputFormatters: [
WhitelistingTextInputFormatter.digitsOnly,
CurrencyInputFormatter(),
],
enabled: widget.enableVal,
controller: widget.controllerText,
keyboardType: TextInputType.number,
decoration: InputDecoration(
disabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.white)),
border: OutlineInputBorder(),
contentPadding:
const EdgeInsets.symmetric(vertical: 3.0)),
))),
],
));
}
}
您可以使用Textfield的
onChanged
事件在数据发生更改时获取数据
以下是您如何做到这一点
字符串数据;
onChanged:(数据){
//数据是文本字段的当前值。
someData=数据;
},
使用它,您将始终拥有文本字段的数据
编辑
您也可以使用onSubmitted
事件来获得所需的结果
return Container(
width: (screenWidth / 2) - 45,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
LightText(
text: widget.labelText,
),
Padding(
padding: EdgeInsets.only(top: 3),
),
Container(
height: 24,
decoration:
BoxDecoration(borderRadius: BorderRadius.circular(3)),
child: Theme(
data: ThemeData(hintColor: lightGrey),
child: TextField(
inputFormatters: [
WhitelistingTextInputFormatter.digitsOnly,
CurrencyInputFormatter(),
],
enabled: widget.enableVal,
controller: widget.controllerText,
keyboardType: TextInputType.number,
decoration: InputDecoration(
disabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.white)),
border: OutlineInputBorder(),
contentPadding:
const EdgeInsets.symmetric(vertical: 3.0)),
))),
],
));
}
}
为此使用
textededitingcontroller
。伪代码示例:
TextEditingController\u控制器;
...
文本字段(
控制器:_控制器,
),
...
void _someMethod(){
字符串文本=_controller.text;
}
要收听焦点之间的变化,请查看以下内容:
FocusNode\u focus;
...
文本字段(
焦点:_焦点;
)
...
无效检查(){
if(_focus.hasFocus){
//插入处理
}
}
我认为除非你自己检查文档,否则不会有最好的答案。
为此使用
文本编辑控制器。伪代码示例:
TextEditingController\u控制器;
...
文本字段(
控制器:_控制器,
),
...
void _someMethod(){
字符串文本=_controller.text;
}
要收听焦点之间的变化,请查看以下内容:
FocusNode\u focus;
...
文本字段(
焦点:_焦点;
)
...
无效检查(){
if(_focus.hasFocus){
//插入处理
}
}
我认为除非你自己检查文档,否则不会有最好的答案。
请格式化您的代码,并请写一些信息。请格式化您的代码,并请写一些信息。不要一次更改当用户完成值@ibhavikmakwana的编辑时,我想要文本字段的最终值。不要一次更改当用户完成值@ibhavikmakwanayes的编辑时,我想要文本字段的最终值,它正在工作,但当焦点改变到另一个textfield时,我想要textfield的值好的,我明白了。抱歉,我没有正确理解您的问题)是的,它正在工作,但我希望焦点更改为另一个textfield时textfield的值好的,我明白了。对不起,我没有正确理解您的问题)